第一種:插件形式
1) 指定該函數名稱nocache
2) 建立檔案./plugins/block.nocache.php
内容:
<?php
function smarty_block_nocache($args, $content){
return $content;}
?>
3)*.php
….
$tpl->assign(“date,date(“H:i:s”));
….
*.tpl
<{nocache}><{$date}><{/nocache}>
所有插件預設被緩存
Smarty. (行數不定)
Else{
if($tag_command==nocache){
$this->_plugins['block'][$tag_command] = array($plugin_func, null, null, null, false);}
Else{
$this->_plugins['block'][$tag_command] = array($plugin_func, null, null, null, true);
}
}
第二種:php檔案内自定義函數并注冊
*.php
$tpl->register_block(“nocache”,"fun1”,false);
function fun1($args,$content){return $content;}
$tpl->assign(“date”,date(“H:i:s”));
*.tpl
<{nocache}><{$date}><{/nocache}>
第三種:smarty内建函數insert
定義一個insert 标簽要使用的處理函數
函數名格式為:
insert_xx(array $params, object &$smarty)
其中的xx是insert的name,也就是說,如果你定義的函數為insert_abc,則模闆中使用方法為{insert name=abc}參數通過
$params傳入
也可以做成insert插件,檔案名命名為:insert.xx.php,函數命名為:smarty_insert_aa($params,&$smarty),xx定義同上