中山php|最優網絡中山做網站 中山php建站

最優良人

2012/09/22 at 11:16

好用的smarty標簽:capture,literal,fetch

1,capture標簽

capture的中文意思是抓取,它的作用是抓取模板輸出的數據,當我們需要它的時候,調用它,以得到抓取數據的目的。例子:

  1. {capture?name=test}
  2. <img?src=”testimg.jpg”>
  3. {/capture}
  4. <div?class=”image”>
  5. {$smarty.capture.test}
  6. </div>

說明:
在{capture name=”test”}和{/capture}之間的內容被存儲到變量$test中,該變量由name屬性指定.在模板中通過 $smarty.capture.test 訪問該變量.如果沒有指定name 屬性,函數默認將使用”default” 作為參數,這一點很jquery中的clone

2,config_load標簽

config_load可以直接將文件中的內容讀取出來,這樣可以省掉assign這一步。

  1. test.csv:
  2. pageTitle?=?”config_load_test”
  3. bodyBgColor?=?”#eeeeee”
  4. img?=?”girl.jpg”
  5. width=”100″
  6. height=”100″
  7. index.tpl:
  8. {config_load?file=”test.csv”}
  9. <html>
  10. <title>{#pageTitle#}</title>
  11. <body?bgcolor=”{#bodyBgColor#}”>
  12. <img?src=”{#img#}”?width=”{#width#}”?height=”{#height#}”>
  13. </body>
  14. </html>

上述過程中如果出現這樣的問題Warning: Smarty error: unable to read resource, 請查看一下,你的test.csv是不是放在smarty的配置目錄中,默認配置目錄是configs

  1. /**
  2. *?The?directory?where?config?files?are?located.
  3. *
  4. *[email protected]?string
  5. */
  6. var?$config_dir??????=??’configs’;

3,literal標簽的使用

做web開發,難免會寫一些JS,jquery代碼。js和jquery里面都會{}這樣的符號,smarty會不會把它理解成php的變量呢?如果你不加literal標簽的話,smarty肯定會把它理解變量了,加了就不會,例如:

  1. {literal}
  2. function?getAbsLeft(e){
  3. var?l=e.offsetLeft;
  4. while(e=e.offsetParent)l+=e.offsetLeft;
  5. return?l;
  6. }
  7. function?getAbsTop(e){
  8. var?t=e.offsetTop;
  9. while(e=e.offsetParent)t+=e.offsetTop;
  10. return?t;
  11. }
  12. {/literal}

4,php標簽

當你習慣了assign后,你有沒有想過,在模板文件里面直接寫php代碼呢,我想有的時候你肯定很想吧。例如:

  1. {php}
  2. global?$result;
  3. foreach($result?as?$key=>$value){
  4. echo?”key=$key,value=>$value<br>”;
  5. }
  6. {/php}

5,strip標簽

strip標簽去除標簽內的空格和回車,這一點我覺得,做手機開發的朋友肯定用的到,因為全角空格有可能會導致整個頁面錯亂,甚至是一個空白頁面。手機屏幕小,估計用smarty的可能性也比較小。

  1. {strip}
  2. <div>
  3. <font?color=”red”>strip</font>
  4. </div>
  5. {/strip}

6,fetch標簽

fetch標簽根php的file_get_contents挺想的,都可以把文件中的內容讀出來,并且是個字符串的形勢

  1. {fetch?file=”./aaaa.txt”?assign=”result”}
  2. {if?is_array($result)}
  3. <b>is?array</b>
  4. {else?if}
  5. <b>not?array</b>
  6. {/if}

 

 

標簽:
-
牛仔和外星人闯关