Smarty函數---外掛
1) 內建函數 sysplugins
2) 自訂函數 plugins1、capture 擷取一段內容,但不輸出
語法:
{capture name=‘var’}
內容物
{/capture}
Name:將內容儲存到指定的變數中
{$smarty.capture.var}
在模板中,需要反覆輸出的大量內容,可以考慮使用capture捕獲。
2、config_load 載入設定檔
{config_load file=“file”section=“section”}
file:設定檔名稱
section:引用哪個配置節 可選參數
引用語法:
{#var#}
{$smarty.config.var}
3、foreach,foreachelse 用於遍歷陣列
語法:
{foreach from=陣列 key=鍵 name=名稱 item=內容 }
{foreachelse} 當要遍歷的陣列沒有任何元素時,執行foreachelse後面的語句
{/foreach}
From:要遍歷的陣列
Item:遍歷到的鍵值
Key:遍歷到的鍵名
Name:為foreach語句命名
Foreach內建變數
$smarty.foreach.name.index :索引 從0開始
$smarty.foreach.name.iteration :索引 從1開始
$smarty.foreach.name.first :當第一次執行循環時,該值為true
$smarty.foreach.name.last :最後一次執行循環時,該值為true
$smarty.foreach.name.total :循環總數
4、include 引用另一個範本檔案
{include file=“file” assign=“var” [var ...]}
File:要引入的模板檔案
Assign:將結果保存,但本次不輸出
[var …] :可選參數,為範本檔案傳參
5、include_php 包含一個php檔案
{ include_php file=“file” assign=“var” once=“true|false”}
File:要引入的php檔案
Assign:儲存輸出結果,但本次不輸出
Once:是否只包含一次 true:是 false:否
這個函數在smarty2.6中是可用的,但在3.0中將這個函數移除,如果還想使用這個函數,可以引用SmartyBC.class.php這個類別檔案
6、insert 在模板中,執行一個php函數
語法:
{ insert name=「func」 [var ...] }
Name :被呼叫的php函數名稱
[var ...] :呼叫函數時指定參數 選用參數
Insert和include_php是一樣的。都是2.6中的函數,在3.0中,將這個功能放到SmartyBC.class.php這個檔案中了。
注意:inser所引用的php函數的名稱必須以insert_為前綴
7、if elseif else
{if}
{elseif}
{else}
{/if}
8、ldelim 、rdelim 模板中的 { } 的轉義符
{ldelim}
{rdelim}
9、literal literal標記中間的內容不會被smarty解析
{literal}
…
{/literal}
10、php 可以在一對php標記寫php程式碼
{php}
…
{/php}
以上就介紹了php—Smarty-4 (21),包含了方面的內容,希望對PHP教程有興趣的朋友有幫助。