1,capture標(biāo)簽
capture的中文意思是抓取,它的作用是抓取模板輸出的數(shù)據(jù),當(dāng)我們需要它的時(shí)候,調(diào)用它,以得到抓取數(shù)據(jù)的目的。例子:
- {capture?name=test}
- <img?src=”testimg.jpg”>
- {/capture}
- <div?class=”image”>
- {$smarty.capture.test}
- </div>
說(shuō)明:
在{capture name=”test”}和{/capture}之間的內(nèi)容被存儲(chǔ)到變量$test中,該變量由name屬性指定.在模板中通過(guò) $smarty.capture.test 訪問(wèn)該變量.如果沒(méi)有指定name 屬性,函數(shù)默認(rèn)將使用”default” 作為參數(shù),這一點(diǎn)很jquery中的clone
2,config_load標(biāo)簽
config_load可以直接將文件中的內(nèi)容讀取出來(lái),這樣可以省掉assign這一步。
- test.csv:
- pageTitle?=?”config_load_test”
- bodyBgColor?=?”#eeeeee”
- img?=?”girl.jpg”
- width=”100″
- height=”100″
- index.tpl:
- {config_load?file=”test.csv”}
- <html>
- <title>{#pageTitle#}</title>
- <body?bgcolor=”{#bodyBgColor#}”>
- <img?src=”{#img#}”?width=”{#width#}”?height=”{#height#}”>
- </body>
- </html>
上述過(guò)程中如果出現(xiàn)這樣的問(wèn)題Warning: Smarty error: unable to read resource, 請(qǐng)查看一下,你的test.csv是不是放在smarty的配置目錄中,默認(rèn)配置目錄是configs
- /**
- *?The?directory?where?config?files?are?located.
- *
- *?@var?string
- */
- var?$config_dir??????=??’configs’;
3,literal標(biāo)簽的使用
做web開(kāi)發(fā),難免會(huì)寫(xiě)一些JS,jquery代碼。js和jquery里面都會(huì){}這樣的符號(hào),smarty會(huì)不會(huì)把它理解成php的變量呢?如果你不加literal標(biāo)簽的話,smarty肯定會(huì)把它理解變量了,加了就不會(huì),例如:
- {literal}
- function?getAbsLeft(e){
- var?l=e.offsetLeft;
- while(e=e.offsetParent)l+=e.offsetLeft;
- return?l;
- }
- function?getAbsTop(e){
- var?t=e.offsetTop;
- while(e=e.offsetParent)t+=e.offsetTop;
- return?t;
- }
- {/literal}
4,php標(biāo)簽
當(dāng)你習(xí)慣了assign后,你有沒(méi)有想過(guò),在模板文件里面直接寫(xiě)php代碼呢,我想有的時(shí)候你肯定很想吧。例如:
- {php}
- global?$result;
- foreach($result?as?$key=>$value){
- echo?”key=$key,value=>$value<br>”;
- }
- {/php}
5,strip標(biāo)簽
strip標(biāo)簽去除標(biāo)簽內(nèi)的空格和回車,這一點(diǎn)我覺(jué)得,做手機(jī)開(kāi)發(fā)的朋友肯定用的到,因?yàn)槿强崭裼锌赡軙?huì)導(dǎo)致整個(gè)頁(yè)面錯(cuò)亂,甚至是一個(gè)空白頁(yè)面。手機(jī)屏幕小,估計(jì)用smarty的可能性也比較小。
- {strip}
- <div>
- <font?color=”red”>strip</font>
- </div>
- {/strip}
6,fetch標(biāo)簽
fetch標(biāo)簽根php的file_get_contents挺想的,都可以把文件中的內(nèi)容讀出來(lái),并且是個(gè)字符串的形勢(shì)
- {fetch?file=”./aaaa.txt”?assign=”result”}
- {if?is_array($result)}
- <b>is?array</b>
- {else?if}
- <b>not?array</b>
- {/if}