php smarty 模板中默認是帶了一些簡單的變量處理函數的。基本上可以滿足web開發中大部分的需求了,但在實際開發中總有些功能是這些基本函數滿足不了的。比如模板默認函數就沒有統計一個字符串字數的函數。對於這種除了開發一個smarty模板插件函數外,最簡單的就是直接使用php函數了。另外我們的需求中也經常會碰到要在模板中對一個變量進行多次處理的情況,也就是說在模板中可能要對一個變量用多個函數進行處理。這些你都知道是怎麼做的嗎?下面我們就以兩個示例做一下簡單的說明吧。
(1)在smarty模板中使用php函數,這裡假設需要計算一個數組的長度,如果長度大於6則進行循環顯示,否則不做任何操作,則:
{if $array|@count gt 6}
{foreach from=$array item=arr}
......
{/foreach}
{/if}
(2)在smarty模板中對同一個變量使用多個函數,假設現在要對一個變量先進行字符定長截取,然後在把關鍵詞進行替換以高亮顯示,則:
{$str|truncate:30:'...'|replace:$keyword:"<span style='color:#03C200;font-size:14px'>$keyword</span>"}
ok,在 smarty 模板中使用php函數以及在smarty模板中對同一個變量使用多個函數就是這麼簡單。