![]() | ¿¿¿ - ¿¿¿¿ | |||
|
Smarty ¤Jªù
§Ç¨¥
è¶}©l±µÄ²¼Ëª©¤ÞÀºªº PHP ³]p®v¡AÅ¥¨ì Smarty ®É¡A³£·|ı±o«ÜÃø¡C¨ä¹êµ§ªÌ¤]¤£¨Ò¥~¡A¸I³£¤£´±¸I¤@¤U¡C¦ý¬O«á¨Ó¦båªR XOOPS ªºµ{¦¡¬[ºc®É¡A¶}©lµo²{ Smarty ¨ä¹ê¨Ã¤£Ãø¡C¥un±N Smarty °ò¦¥\½m¦n¡A¦b¤@¯ëÀ³¥Î¤W´N¤w¸g¬Û·í¨¬°÷¤F¡C·íµM°ò¦¯à¥´¦n¡A«á±ªº¶i¶¥À³¥Î¤]´N¤£¥Î©È¤F¡C ³o½g¤å³¹ªº¥Dn¥Î·N¨Ã«Dn²`¤J±´°Q Smarty ªº¨Ï¥Î¡A³o¦b©x¤è¨Ï¥Î»¡©ú¤¤³£¤w¸g¼g±o«Ü§¹¾ã¤F¡Cµ§ªÌ¶È¦b¦¹¼g¤U¤@¨Ç¦Û¤v¨Ï¥Î¤Wªº¤ß±o¡AÅý·Qn¤F¸Ñ Smarty «o¤£±o¨äªù¦Ó¤JªºªB¤Í¡A¥i¥H±q¤¤±o¨ì¤@¨Ç±Ò¥Ü¡C´N¦]¬°³o½g¤å³¹ªº¤º®e¤£¬O«D±`²`¤J¡A·|¨Ï¥Î Smarty ªºªB¤ÍÌ¥i¯à·|ı±o²³æ¤FÂI¡C ¥Ø«e¥»¤å¤w¸g²Ä¤T¦¸×q¤F¡A¥»·Q¦h¥[¤@¨Ç®Æ¶i¨Ó¡F¤£¹Lê©ó®É¶¡ªºÃö«Y¡A«Ü¦h Smarty ªº¶i¶¥§Þ¥©µ§ªÌ¨Ã¨S¦³¬ã¨s±o«Ü³z¹ý¡A©Ò¥H¤]¤£´±®³¥X¨Ó²{²´¡A¦ýµ§ªÌ¬Û«H³o½g¤å³¹À³¸Ó¯à°÷º¡¨¬¤j¦h¼Æ·Q¾Ç²ß Smarty ªºªì¾ÇªÌ¤F¡C·íµM¥»¤å¦³ÂÕ»~ªº¦a¤è¤]Åwªï§iª¾¡Aµ§ªÌ·|¦b¤U¤@¦¸ªº×q¤¤§ó¥¿ªº¡C P.S. ½Ð¦b 1024 x 768 ªºÀô¹Ò¤U¬Ý·|¤ñ¸û¦n¡C jaceju@seed.net.tw 2004/02/09
¤£ª¾¹D±q¤°»ò®ÉÔ¶}©l¡A¦³¤H¶}©l¹ï HTML ¤º´O¤J Server Script ı±o¤£¤Óº¡·N¡CµM¦Ó¤£½×¬O·L³nªº ASP ©Î¬O¶}©ñ·½½Xªº PHP¡A³£¬OÄݩ󤺴O Server Script ªººô¶¦øªAºÝ»y¨¥¡C¦]¦¹¤]´N¦³¤H·Q¨ì¡A¦pªG¯à§âµ{¦¡À³¥ÎÅÞ¿è (©ÎºÙ°Ó·~À³¥ÎÅÞ¿è) »Pºô¶§e²{ (Layout) ÅÞ¿è¤ÀÂ÷ªº¸Ü¡A¬O¤£¬O·|¤ñ¸û¦n©O¡H ¨ä¹ê³oÓ°ÝÃD¦´N¦s¦b¤w¤[¡A±q¤¬°Ê¦¡ºô¶¶}©l·¦æ®É¡A¤£½×¬O ASP ©Î¬O PHP ªº¨Ï¥ÎªÌ³£¬O¨Ýµ{¦¡¶}µoªÌ»PµøÄ±³]p®v¨âºØ¨¥÷¡C¥i¬O³q±`³o¨Ç¨Ï¥ÎªÌ¤£¬Oµ{¦¡±j´N¬O¬ü¤u±j¡A¦pªGn¨âªÌ¦P®ÉÝÅU¡A¨º¥i±o¦º±¼¤£¤Ö¸£²ÓM... ©Ò¥H¼Ëª©¤ÞÀº´NÀ³¹B¦Ó¥Í°Õ¡I¼Ëª©¤ÞÀºªº¥Øªº¡A´N¬On¹F¨ì¤Wz´£¨ìªºÅÞ¿è¤ÀÂ÷ªº¥\¯à¡C¥¦¯àÅýµ{¦¡¶}µoªÌ±Mª`©ó¸ê®Æªº±±¨î©Î¬O¥\¯àªº¹F¦¨¡F¦ÓµøÄ±³]p®v«h¥i±Mª`©óºô¶±Æª©¡AÅýºô¶¬Ý°_¨Ó§ó¨ã¦³±M·~·P¡I¦]¦¹¼Ëª©¤ÞÀº«Ü¾A¦X¤½¥qªººô¯¸¶}µo¹Î¶¤¨Ï¥Î¡A¨Ï¨CÓ¤H³£¯àµo´§¨ä±Mªø¡I ´Nµ§ªÌ±µÄ²¹Lªº¼Ëª©¤ÞÀº¨Ó»¡¡A¨Ì¸ê®Æ§e²{¤è¦¡¤j·§¤À¦¨¡G»Ý·f°tµ{¦¡³B²zªº¼Ëª©¤ÞÀº©M§¹¥þ¥Ñ¼Ëª©¥»¨¦Û¦æ¨M©wªº¼Ëª©¤ÞÀº¨âºØ§Î¦¡¡C ¦b»Ý·f°tµ{¦¡³B²zªº¼Ëª©¤ÞÀº¤¤¡Aµ{¦¡¶}µoªÌ¥²¶·nt³dÅܼƪº§e²{ÅÞ¿è¡A¤]´N¬O»¡¥L¥²¶·§âÅܼƪº¤º®e¦b¿é¥X¨ì¼Ëª©«e¥ý³B²z¦n¡A¤~¯à°µ assign ªº¤u§@¡C´«¥y¸Ü»¡¡Aµ{¦¡¶}µoªÌÁÙ¬O±o¦h¼g¤@¨Çµ{¦¡¨Ó¨M©wÅܼƧe²{ªº·»ª¡C¦Ó§¹¥þ¥Ñ¼Ëª©¥»¨¦Û¦æ¨M©wªº¼Ëª©¤ÞÀº¡A¥¦¤¹³\Åܼƪ½±µ assign ¨ì¼Ëª©¤¤¡AÅýµøÄ±³]p®v¦b³]p¼Ëª©®É¦A¨M©wÅܼÆn¦p¦ó§e²{¡C¦]¦¹¥¦´N¥i¯à·|¦³¥t¤@®MÄÝ©ó¦Û¤vªº¼Ëª©µ{¦¡»yªk (¦p Smarty) ¡A¥H¤è«K±±¨îÅܼƪº§e²{¡C¦ý³o¼Ë¤@¨Ó¡AµøÄ±³]p®v¤]±o¾Ç²ß¦p¦ó¨Ï¥Î¼Ëª©»y¨¥¡C º¥ý§ÚÌ¥ý¬Ý¬Ý¥H¤Uªº¹B§@¹Ï¡G
¤@¯ëªº¼Ëª©¤ÞÀº (¦p PHPLib) ³£¬O¦b«Ø¥ß¼Ëª©ª«¥ó®É¨ú±on¸ÑªRªº¼Ëª©¡AµM«á§âÅܼƮM¤J«á¡A³z¹L parse() ³oÓ¤èªk¨Ó¸ÑªR¼Ëª©¡A³Ì«á¦A±Nºô¶¿é¥X¡C
¹ï Smarty ªº¨Ï¥ÎªÌ¨Ó»¡¡Aµ{¦¡¸Ì¤]¤£»Ýn°µ¥ô¦ó parse ªº°Ê§@¤F¡A³o¨Ç Smarty ¦Û°Ê·|À°§Ṵ́µ¡C¦Ó¥B¤w¸g½s͹Lªººô¶¡A¦pªG¼Ëª©¨S¦³Åܰʪº¸Ü¡A Smarty ´N¦Û°Ê¸õ¹L½sĶªº°Ê§@¡Aª½±µ°õ¦æ½s͹Lªººô¶¡A¥H¸`¬Ù½sĶªº®É¶¡¡C ¦b¤@¯ë¼Ëª©¤ÞÀº¤¤¡A§Ú̱`¬Ý¨ì°Ï°ìªºÆ[©À¡A©Ò¿×°Ï¶ô¤j·§³£·|ªø¦¨³o¼Ë¡G
³o¨Ç°Ï¶ô¤j³¡¥÷³£·|¦b PHP µ{¦¡¤¤¥H if ©Î for, while ¨Ó±±¨î¥¦ÌªºÅã¥Üª¬ºA¡AÁöµM¼Ëª©¬Ý°_¨Ó²¼ä¦h¤F¡A¦ý¥un¤@´«¤FÅã¥Ü¤è¦¡¤£¦Pªº¼Ëª©¡A PHP µ{¦¡¶Õ¥²n¦A§ï¤@¦¸¡I ¦b Smarty ¤¤¡A¤@¤Á¥HÅܼƬ°¥D¡A©Ò¦³ªº§e²{ÅÞ¿è³£Åý¼Ëª©¦Û¦æ±±¨î¡C¦]¬° Smarty ·|¦³¦Û¤vªº¼Ëª©»y¨¥¡A©Ò¥H¤£ºÞ¬O°Ï¶ô¬O§_nÅã¥ÜÁÙ¬On«ÂСA³£¬O¥Î Smarty ªº¼Ëª©»yªk (if, foreach, section) ·f°tÅܼƤº®e§@§e²{¡C³o¼Ë¤@¨Ó·Pı¤W¦n¹³¼Ëª©Åܱo¦³ÂI½ÆÂø¡A¦ý¦n³B¬O¥un³W¹º±o·í¡A PHP µ{¦¡¤@¦æ³£¤£¥²§ï¡C ¥Ñ¤W±ªº»¡©ú¡A§ÚÌ¥i¥Hª¾¹D¨Ï¥Î Smarty n´x´¤¤@Óì«h¡G±Nµ{¦¡À³¥ÎÅÞ¿è»Pºô¶§e²{ÅÞ¿è©ú½T¦a¤ÀÂ÷¡C´N¬O»¡ PHP µ{¦¡¸Ì¤£n¦³¤Ó¦hªº HTML ½X¡Cµ{¦¡¤¤¥un¨M©w¦n¨º¨ÇÅܼÆn¶ë¨ì¼Ëª©¸Ì¡AÅý¼Ëª©¦Û¤v¨M©w¸Ó¦p¦ó§e²{³o¨ÇÅÜ¼Æ (¬Æ¦Ü¤£§e²{¤]¦æ) ¡C º¥ý¡A§ÚÌ¥ý¨M©wµ{¦¡©ñ¸mªº¦ì¸m¡C ¦Ü©ó Smarty ©x¤è¤â¥U¤¤¬°¤°»òn¤¶²Ð¤@¨Ç¤ñ¸û½ÆÂøªº¦w¸Ë¤è¦¡©O¡H°ò¥»¤W¨Ì·Ó©x¤èªº¤è¦¡¦w¸Ë¡A¥i¥H¥u¦b¥D¾÷¦w¸Ë¤@¦¸¡AµM«á´£¨Ñµ¹¸Ó¥D¾÷¤U©Ò¦³³]pªÌ¶}µo¤£¦Pµ{¦¡®Éª½±µ¤Þ¥Î¡A¦Ó¤£·|«ÂЦw¸Ë¤Ó¦hªº Smarty ½Æ¥»¡C¦Óµ§ªÌ©Ò´£¨Ñªº¤è¦¡«h¬O¾A¦Xn§âµ{¦¡±a¹L¨Ó²¾¹L¥hªºµ{¦¡¶}µoªÌ¨Ï¥Î¡A³o¼Ë¤£¥Î·Ð´o¥D¾÷¦³¨S¦³¦w¸Ë Smarty ¡C ¥Hµ§ªÌ¦bWindows¦w¸ËAppserv¬°¨Ò¡Aµ{¦¡ªº¥D¸ê®Æ§¨¬O¡ud:\appserv\web\demo\¡v¡C¦w¸Ë¦nSmarty«á¡A§Ú̦b¥D¸ê®Æ§¨¤U¦A«Ø¥ß³o¼Ëªº¸ê®Æ§¨¡G
¦b Linux ©³¤U¡A½Ð°O±o±N templates_c ªºÅvÅÜ§ó¬° 777 ¡CWindows ¤U«h±N¨ä°ßŪ¨ú®ø¡C §ÚÌ¥ý³]©w Smarty ªº¸ô®|¡A½Ð±N¥H¤U³oÓÀɮשR¦W¬° main.php ¡A¨Ã©ñ¸m¨ì¥D¸ê®Æ§¨¤U¡G
·Ó¤W±¤è¦¡³]©wªº¥Î·N¦b©ó¡Aµ{¦¡¦pªGn²¾´Ó¨ì¨ä¥L¦a¤è¡A¥un§ï __SITE_ROOT ´N¥i¥H°Õ¡C (³o¸Ì¬O°Ñ¦Ò XOOPS ªº ) Smarty ªº¼Ëª©¸ô®|³]©w¦n«á¡Aµ{¦¡·|¨Ì·Ó³oÓ¸ô®|¨Ó§ì©Ò¦³¼Ëª©ªº¬Û¹ï¦ì¸m (½d¨Ò¤¤¬O 'd:/appserv/web/demo/templates/' ) ¡CµM«á§Ú̥Πdisplay() ³oÓ Smarty ¤èªk¨ÓÅã¥Ü§Ú̪º¼Ëª©¡C ±µ¤U¨Ó§Ú̦b templates ¸ê®Æ§¨¤U©ñ¸m¤@Ó test.htm¡G(°ÆÀɦW¥s¤°»ò³£µL©Ò¿×¡A¦ý«K©óµøÄ±³]p®v¶}µo¡Aµ§ªÌ³£ÁÙ¬O¥H .htm ¬°¥D¡C)
²{¦b§ÚÌn±N¤W±ªº¼Ëª©Åã¥Ü¥X¨Ó¡A¨Ã±Nºô¶¼ÐÃD ($title) »P¤º®e ($content) §ó´«¡A½Ð±N¥H¤UÀɮפº®e©R¦W¬° test.php ¡A¨Ã©ñ¸m¦b¥D¸ê®Æ§¨¤U¡G
½Ð¥´¶}ÂsÄý¾¹¡A¿é¤J http://localhost/demo/test.php ¸Õ¸Õ¬Ý(¨Ì±zªºÀô¹Ò¨M©wºô§})¡AÀ³¸Ó·|¬Ý¨ì¥H¤Uªºµe±¡G
¦A¨ì templates_c ©³¤U¡A§ÚÌ·|¬Ý¨ì¤@Ó©_©Çªº¸ê®Æ§¨ (%%179) ¡A¦AÂI¿ï¤U¥h¤]¬O¤@Ó©_©Çªº¸ê®Æ§¨ (%%1798044067) ¡A¦Ó¨ä¤¤¦³¤@ÓÀɮסG
¨S¿ù¡A³o´N¬O Smarty ½s͹LªºÀɮסC¥¦±N§Ú̦b¼Ëª©¤¤ªºÅܼÆÂà´«¦¨¤F PHP ªº»yªk¨Ó°õ¦æ¡A¤U¦¸¦AŪ¨ú¦P¼Ëªº¤º®e®É¡A Smarty ´N·|ª½±µ§ì¨ú³oÓÀɮרӰõ¦æ¤F¡C ³Ì«á§Ú̾ã²z¤@¤U¾ãÓ Smarty µ{¦¡¼¶¼g¨BÆJ¡G Step 1. ¸ü¤J Smarty ¼Ëª©¤ÞÀº¡C ¤W±§Ú̬ݨ찣¤F Smarty ©Ò»Ýnªº¸ê®Æ§¨¥~ (class ¡B configs ¡B templates ¡B templates_c) ¡AÁÙ¦³¨âÓ¸ê®Æ§¨¡G includes ¡B modules ¡C¨ä¹ê³o¬Oµ§ªÌ¼Ò¥é XOOPS ªº¬[ºc©Ò«Ø¥ß¥X¨Óªº¡A¦]¬° XOOPS ¬Oµ§ªÌ©Ò±µÄ²¨ìªºµ{¦¡¤¤¡A¤Ö¼Æ¨Ï¥Î Smarty ¼Ëª©¤ÞÀºªº¬[¯¸µ{¦¡¡C©Ò¿×¦è¥Ê°¹¤jÃä¡Aµ§ªÌ³o¼Ëªºµ{¦¡¬[ºcÁö¨S¦³ XOOPS ªº¦Ê¤À¤§¤@±j¡A¦ý¦Ü¤Öµ¹¤H¬Ý®ÉÁÙ¦³ XOOPS ¼µ¸y¡C includes ³oÓ¸ê®Æ§¨¥Dn¬O¥Î¨Ó©ñ¸m¤@¨Ç function ¡B sql ÀÉ¡A³o¼Ë¦b main.php ´N¥i¥H±N¥¦Ì¤Þ¤J¤F¡A¦p¤U¡G
modules ³oÓ¸ê®Æ§¨«h¬O¥Î¨Ó©ñ¸mµ{¦¡¼Ò²Õªº¡A¦p¦¹¤@¨Ó«K¤£·|§âµ{¦¡¥á±o¨ì³B³£¬O¡A¾ãÅé¬[ºc¤@¥ØÁAµM¡C ¤W±§Ṳ́]´£¨ì main.php ¡A³o¬O¾ãÓµ{¦¡ªº¥Dn®Ö¤ß¡A¤£½×¬O±`¼Æ©w¸q¡B¥~³¡µ{¦¡¸ü¤J¡B¦@¥ÎÅܼƫإߵ¥¡A³£¬O¦b³o¸Ì¶}©lªº¡C©Ò¥H¤§«áªº¼Ò²Õ³£¥un±N³oÓÀÉ®×¥]§t¶i¨Ó´N¥i¥H°Õ¡C¦]¦¹¦bµ{¦¡¬yµ{³W¹º´Á¶¡¡A´N¥²¶·¦n¦nºc«ä main.php ¤¤À³¸Ón©ñ¨º¨ÇªF¦è¡F·íµM§Q¥Î include ©Î require «ü¥O¡A§â¨CÓÀô¸`²M·¡¤ÀÂ÷¬O¦A¦n¤£¹L¤F¡C
¦b¤W¸`´£¨ìªº Smarty µ{¦¡ 5 ¨BÆJ¡A main.php ´N·|À°§ÚÌ¥ý±N«e 3 Ó¨BÆJ°µ¦n¡A«á±ªº¼Ò²Õµ{¦¡¥un°µ«á±¨âÓ¨BÆJ´N¥i¥H¤F¡C ±q¤W¤@³¹½d¨Ò¤¤¡A§ÚÌ¥i¥H²M·¡¦a¬Ý¨ì§Ú̧Q¥Î <{ ¤Î }> ³o¨âӼХܲŸ¹±NÅܼƥ]°_¨Ó¡C¹w³]ªº¼Ð¥Ü²Å¸¹¬° { ¤Î } ¡A¦ý¬°¤F¤¤¤å½Ä½X¤Î Javascript ªºÃö«Y¡A¦]¦¹µ§ªÌÁÙ¬O¼Ò¥é XOOPS ¡A±N¼Ð¥Ü²Å¸¹´«±¼¡CÅܼƪº©R¦W¤è¦¡©M PHP ªºÅܼƩR¦W¤è¦¡¬O¤@¼Ò¤@¼Ëªº¡A«e±¤]¦³Ó $ ¦r¸¹ (³o©M¤@¯ëªº¼Ëª©¤ÞÀº¤£¦P)¡C¼Ð¥Ü²Å¸¹´N¦³ÂI¹³¬O PHP ¤¤ªº <?php ¤Î ?> (¨Æ¹ê¤W¥¦Ìªº½T·|³Q´À´«¦¨³oÓ) ¡A©Ò¥H¥H¤Uªº¼Ëª©ÅܼƼgªk³£¬O¥i¦æªº¡G
¦b Smarty ¸Ì¡AÅܼƹw³]¬O¥þ°ìªº¡A¤]´N¬O»¡§A¥un«ü©w¤@¦¸´N¦n¤F¡C«ü©w¨â¦¸¥H¤Wªº¸Ü¡AÅܼƤº®e·|¥H³Ì«á«ü©wªº¬°¥D¡C´Nºâ§Ú̦b¥D¼Ëª©¤¤¸ü¤J¤F¥~³¡ªº¤l¼Ëª©¡A¤l¼Ëª©¤¤¦P¼ËªºÅܼƤ@¼Ë¤]·|³Q´À¥N¡A³o¼Ë§ÚÌ´N¤£¥Î¦A°w¹ï¤l¼Ëª©¦A°µ¤@¦¸¸ÑªRªº°Ê§@¡C ¦Ó¦b PHP µ{¦¡¤¤¡A§Ú̥ΠSmarty ªº assign ¨Ó±NÅܼƸm©ñ¨ì¼Ëª©¤¤¡C assign ªº¥Îªk©x¤è¤â¥U¤¤¤w¸g¼g±o«Ü¦h¤F¡A¥Îªk´N¦p¦P¤W¤@¸`ªº½d¨Ò©Ò¥Ü¡C¤£¹L¦b«Âа϶ô®É¡A§ÚÌ´N¥²¶·±NÅܼưµ¤@¨Ç¤â¸}«á¡A¤~¯à±NÅÜ¼Æ assign ¨ì¼Ëª©¤¤¡A³o¦b¤U¤@³¹¦A´£¡C ¤W±§ÚÌ´£¨ì Smarty ÅܼƧe²{ªº·»ª¬O¥Ñ¼Ëª©¦Û¦æ¨M©wªº¡A©Ò¥H Smarty ´£¨Ñ¤F³\¦h×¹¢Åܼƪº¨ç¦¡¡C¨Ï¥Îªº¤èªk¦p¤U¡G
½d¨Ò¦p¤U¡G
¦n¡A¨º¬°¤°»ònÅý¼Ëª©¦Û¦æ¨M©wÅܼƧe²{ªº·»ª¡H¥ý¬Ý¬Ý©³¤Uªº HTML ¡A³o¬O¬YÓÁʪ«¨®µ²±bªº³¡¥÷µe±¡C
¤@¯ë¼Ëª©¤ÞÀºªº¼Ëª©¥i¯à·|³o¼Ë¼g¡G
¥¦Ìªº PHP µ{¦¡¤¤n³o¼Ë¼g¡G
¦Ó Smarty ªº¼Ëª©´N¥i¥H³o¼Ë¼g¡G (number_format ×¹¢¨ç¦¡½Ð¨ì Smarty ©x¤èºô¶¤U¸ü)
Smarty ªº PHP µ{¦¡¤¤¥un³o¼Ë¼g¡G
©Ò¥H¦b Smarty ¤¤§ÚÌ¥un«ü©w¤@¦¸ÅܼơA³Ñ¤Uªº¥æµ¹¼Ëª©¦Û¦æ¨M©w§Y¥i¡C³o¼ËÁA¸Ñ¤F¶Ü¡H³o´N¬OÅý¼Ëª©¦Û¦æ¨M©wÅܼƧe²{·»ªªº¦n³B¡I ¦b Smarty ¼ËªO¤¤¡A§ÚÌn«ÂФ@Ӱ϶ô¦³¨âºØ¤è¦¡¡G foreach ¤Î section ¡C¦Ó¦bµ{¦¡¤¤§ÚÌ«hn assign ¤@Ó°}¦C¡A³oÓ°}¦C¤¤¥i¥H¥]§t¼Æ²Õ°}¦C¡C´N¹³¤U±³oÓ¨Ò¤l¡G º¥ý§ÚÌ¨Ó¬Ý PHP µ{¦¡¬O¦p¦ó¼gªº¡G
¦Ó¼Ëª©ªº¼gªk¦p¤U¡G
°õ¦æ¤W¨Ò«á¡A§Ú̵o²{¤£ºÞ¬O foreach ©Î section ¨âÓ°õ¦æµ²ªG¬O¤@¼Ëªº¡C¨º»ò¨âªÌ¨ì©³¦³¦ó¤£¦P©O¡H ²Ä¤@Ó®t§O«Ü©úÅã¡A´N¬O foreach n¥H±_ª¬³B²zªº¤è¦¡¨Ó§e²{§ÚÌ©Ò assign ªº¨â¼h°}¦CÅܼơA¦Ó section «h¥H¡u¥D°}¦C[°j°é¦WºÙ].¤l°}¦C¯Á¤Þ¡v§Y¥i±N¾ãÓ°}¦C§e²{¥X¨Ó¡C¥Ñ¦¹¥iª¾¡A Smarty ¦b¼Ëª©¤¤ªº foreach ©M PHP ¤¤ªº foreach ¬O¤@¼Ëªº¡F¦Ó section «h¬O Smarty ¬°¤F³B²z¦p¤W¦Cªº°}¦CÅܼƩҵo®i¥X¨Óªº±Ôz¡C·íµM section ªº¥\¯àÁÙ¤£¥u¦p¦¹¡A°£¤F¤U¤@¸`©Ò½Í¨ìªº±_ª¬¸ê®Æ§e²{¥~¡A©x¤è¤â¥U¤¤¤]´£¨Ñ¤F¦n´XÓ section ªºÀ³¥Î½d¨Ò¡C ¤£¹Lnª`·Nªº¬O¡A¥áµ¹ section ªº°}¦C¯Á¤Þ¥²¶·¬O±q 0 ¶}©lªº¥¿¾ã¼Æ¡A§Y 0, 1, 2, 3, ...¡C¦pªG±zªº°}¦C¯Á¤Þ¤£¬O±q 0 ¶}©lªº¥¿¾ã¼Æ¡A¨º»ò´N±o§ï¥Î foreach ¨Ó§e²{±zªº¸ê®Æ¡C±z¥i¥H°Ñ¦Ò©x¤è°Q½×°Ï¤¤ªº¦¹½g°Q½×¡A¨ä¤¤±´°Q¤F section ©M foreach ªº¥Îªk¡C ¼Ëª©¤ÞÀº¸Ì³Ì¥O¤H¶Ë¸£µ¬ªº¤j·§´N¬O±_ª¬¸ê®Æªº§e²{§a¡A³\¦hµÛ¦Wªº¼Ëª©¤ÞÀº³£·|¯S·N±j½Õ³oÂI¡A¤£¹L³o¹ï Smarty ¨Ó»¡«o¬O¤p¨à¬ì¡C ³Ì±`¨£¨ìªº±_ª¬¸ê®Æ¡A´Nºâ½×ôε{¦¡¤¤ªº°Q½×¥DÃD°Ï§a¡C°²³]n§e²{ªºµ²ªG¦p¤U¡G
µ{¦¡¤¤§ÚÌ¥ý¥HÀRºA¸ê®Æ¬°¨Ò¡G
¼Ëª©ªº¼gªk¦p¤U¡G
°õ¦æªºµ²ªG´N¹³µ§ªÌÁ|ªº¨Ò¤l¤@¼Ë¡C ¦]¦¹©O¡A¦bµ{¦¡¤¤§ÚÌ¥un·Q¿ìªk§â©Òn«ÂÐȤ@¼h¤@¼hªº¶ë¨ì°}¦C¤¤¡A¦A§Q¥Î <{²Ä¤@¼h°}¦C[°j°é1].²Ä¤G¼h°}¦C[°j°é2].²Ä¤T¼h°}¦C[°j°é3]. ... .°}¦C¯Á¤Þ}> ³o¼Ëªº¤è¦¡¨ÓÅã¥Ü¨C¤@Ó±_ª¬°j°é¤¤ªºÈ¡C¦Ü©ó¥Î¤°»ò¤èªk©O¡H¤U¤@¸`¨Ï¥Î¸ê®Æ®w®É§Ú̦A´£¡C ¤W±´£¨ì¦p¦óÅã¥Ü±_ª¬°j°é¡A¦Ó¹ê»Ú¤WÀ³¥Î®É§Ú̪º¸ê®Æ¥i¯à¬O±q¸ê®Æ®w¤¤§ì¨ú¥X¨Óªº¡A©Ò¥H§ÚÌ´N±o·Q¿ìªk§â¸ê®Æ®wªº¸ê®ÆÅܦ¨¤Wzªº¦h«°}¦Cªº§Î¦¡¡C³o¸Ìµ§ªÌ¥Î¤@Ó DB Ãþ§O¨Ó§ì¨ú¸ê®Æ®w¤¤ªº¸ê®Æ¡A±z¥i¥H¦Û¦æ¥Î±z³ßÅwªº¤èªk¡C §ÚÌ¥u×§ï PHP µ{¦¡¡A¼Ëª©ÁÙ¬O¤W±¨ºÓ (³o´N¬O¼Ëª©¤ÞÀºªº¦n³B~)¡A¨ä¤¤ $db ³oÓª«¥ó°²³]¤w¸g¦b main.php ¤¤«Ø¥ß¦n¤F¡A¦Ó¥B§ì¥X¨Óªº¸ê®Æ´N¬O¤W±ªº¨Ò¤l¡C
¦b¸ê®Æ®w§ì¨ú¤@µ§¸ê®Æ«á¡A§Ú̱o¨ìªº¬O¤@Ó¥]§t¸Óµ§¸ê®Æªº°}¦C¡C³z¹L while ±Ôz¤Î array_push ¨ç¦¡¡A§Ú̱N¸ê®Æ®w¤¤ªº¸ê®Æ¤@µ§¤@µ§¶ë¨ì°}¦C¸Ì¡C¦pªG±z¥u¥Î¨ì³æ¼h°j°é¡A´N§â²Ä¤G¼h°j°é (¬õ¦âªº³¡¥÷) ¥h±¼§Y¥i¡C n¨M©w¬O§_Åã¥Ü¤º®e¡A§ÚÌ¥i¥H¨Ï¥Î if ³oÓ»yªk¨Ó°µ¿ï¾Ü¡C¨Ò¦p¦pªG¨Ï¥ÎªÌ¤w¸gµn¤Jªº¸Ü¡A§Ú̪º¼Ëª©´N¥i¥H³o¼Ë¼g¡G
nª`·Nªº¬O¡A¡u==¡v¸¹¨âÃä¤@©wn¦U¯d¦Ü¤Ö¤@Ӫťզr¤¸¡A§_«h Smarty ·|µLªk¸ÑªR¡C if »yªk¤@¯ëªºÀ³¥Î¥i¥H°Ñ·Ó©x¤è¨Ï¥Î»¡©ú¡A©Ò¥Hµ§ªÌ¦b³o¸Ì´N¤£¸Ô¥[¤¶²Ð¤F¡C¤£¹Lµ§ªÌµo²{¤F¤@Ó¦³½ìªºÀ³¥Î¡G±`±`·|¬Ý¨ìµ{¦¡¸Ìn²£¥Í³o¼Ëªº¤@Óªí®æ¡G (¼Æ¦r¥Nªíªº¬O¸ê®Æ¶°ªº¶¶§Ç)
³oÓµ§ªÌºÙ¤§¬°¡u¾î¦V«ÂÐªí®æ¡v¡C¥¦ªº¯S¦â©M¶Ç²ÎªºÁa¦V«ÂФ£¦P¡A«e´X¸`§Ú̬ݨ쪺«ÂÐªí®æ³£¬O±q¤W¦Ó¤U¡A¤@¦C¥u¦³¤@µ§¸ê®Æ¡C¦Ó¾î¦V«ÂÐªí®æ«h¥i¥H¾î¦V¦a¦b¤@¦C¤¤²£¥Í n µ§¸ê®Æ«á¡A¦A´«¤U¤@¦C¡Aª½¨ì¾ãÓ°j°éµ²§ô¡Cn¹F¨ì³o¼Ëªº¥\¯à¡A³Ì²³æªº¤è¦¡¥u»Ýn section ©M if ·f°t§Y¥i¡C §Ų́ӬݬݤU±³oÓ¨Ò¤l¡G
¼Ëª©ªº¼gªk¦p¤U¡G
«ÂI¦b©ó $smarty.section.sec1.rownum ³oÓ Smarty ÅܼơA¦b section °j°é¤¤³oÓÅܼƷ|¨ú±o±q 1 ¶}©lªº ¯Á¤ÞÈ¡A©Ò¥H·í rownum ¯à³Q 2 °£ºÉ®É¡A´N¿é¥X </tr><tr> ¨Ïªí®æ´«¦C (ª`·N¡I¬O </tr> ¦b«e± <tr> ¦b«á±) ¡C¦]¦¹¼Æ¦r 2 ´N¬O§Ú̦b¤@¦C¤¤·Qn§e²{ªº¸ê®Æµ§¼Æ¡C¦U¦ì¥i¥H¥Ñ¦¹¥hÅܤƨä¥L¤£¦Pªº§e²{¤è¦¡¡C §ÚÌ¥i¥H¦b¼Ëª©¤º¸ü¤J PHP µ{¦¡½X©Î¬O¥t¤@Ó¤l¼Ëª©¡A¤À§O¬O¨Ï¥Î include_php ¤Î include ³o¨âÓ Smarty ¼Ëª©»yªk¡F include_php µ§ªÌ¸û¤Ö¥Î¡A¨Ï¥Î¤è¦¡¥i¥H¬d¸ß©x¤è¤â¥U¡A³o¸Ì¤£¦A±Ôz¡C ¦b¨Ï¥Î include ®É¡A§ÚÌ¥i¥H¹w¥ý¸ü¤J¤l¼Ëª©¡A©Î¬O°ÊºA¸ü¤J¤l¼Ëª©¡C¹w¥ý¸ü¤J³q±`¨Ï¥Î¦b¦³¦@¦Pªº¤å¥ó¼ÐÀY¤Îª©Åv«Å§i¡F¦Ó°ÊºA¸ü¤J«h¥i¥H¥Î¦b²Î¤@ªº®Ø¬[¶¡A¦Ó¶i¤@¨B¹F¨ì¦p Winamp ¯ë¥i´« Skin ¡C·íµM³o¨âºØ§Ṳ́]¥i¥H²V¥Î¡Aµøª¬ªp¦Ó©w¡C §Ų́ӬݬݤU±³oÓ¨Ò¤l¡G
¼Ëª© 1 ªº¼gªk¦p¤U¡G
¼Ëª© 2 ªº¼gªk¦p¤U¡G
¼Ëª© 3 ªº¼gªk¦p¤U¡G
¼Ëª© 4 ªº¼gªk¦p¤U¡G
³o¸Ìª`·N´XÓ«ÂI¡G1. ¼Ëª©ªº¦ì¸m³£¬O¥H¥ý«e©w¸qªº template_dir ¬°°ò·Ç¡F2. ©Ò¦³ include ¶i¨Óªº¤l¼Ëª©¤¤¡A¨äÅܼƤ]·|³Q¸ÑĶ¡C¡F3. include ¤¤¥i¥H¥Î¡uÅܼƦWºÙ=ÅܼƤº®e¡v¨Ó«ü©w¤Þ§t¶i¨Óªº¼Ëª©¤¤©Ò¥]§tªºÅܼơA¦p¦P¤W±¼Ëª© 4 ªº°µªk¡C |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||