![]() |
|
首页 │ Apache │ Linux│ Java│ MySQL│ 注册│帮助 | |||
想法是这样的,smarty中的insert里有一个assign属性,手册上的描述是---该属性指定一个变量保存待插入函数输出--个人觉得,这应该是将PHP中的变量让模版接收,变成模版变量. 那么,是不是可以用这个办法,结合register_block来进行有选择的缓存呢? 代码如下 Btest1.php <?php require "main2.php"; //载入smarty环境 $smarty->cache_lifetime = 10; //设置缓存时间 $smarty->caching = true; //设置缓存方式 $smarty->left_delimiter = "<{"; $smarty->right_delimiter = "}>"; $array[] = array("newsID"=>1, "newsTitle"=>"第1条新闻"); $array[] = array("newsID"=>2, "newsTitle"=>"第2条新闻"); $smarty->register_block('dynamic', 'smarty_block_dynamic', false); if(!$smarty->is_cached( 'Btest1.htm' )) { $smarty->assign("News", $array); } $smarty->display("Btest1.htm"); function insert_get_current_time() { $arrayx[] = array("newsID"=>0, "newsTitle"=>"第0条新闻"); return $arrayx; } function smarty_block_dynamic($param, $content, &$smarty) { return $content; } ?> Btest1.htm
新闻标题:<{$News[loop].newsTitle}>
<{sectionelse}> 对不起,没有任何新闻输入! <{/section}>
<{section name=loop3 loop=$NewsT}> 新闻编号:<{$NewsT[loop3].newsID}>
新闻标题:<{$NewsT[loop3].newsTitle}>
<{sectionelse}> 对不起,没有任何新闻输入! <{/section}>
<{/dynamic}>

