Smarty 模板 insert 局部刷新不缓存功能
2011-12-16 18:09
288 查看
属性 | 类型 | 是否必须 | 缺省值 | 描述 |
---|---|---|---|---|
name | string | Yes | n/a | 插入函数的名称 |
assign | string | No | n/a | 该属性指定一个变量保存待插入函数输出 |
script | string | No | n/a | 插入函数前需要先包含的php脚本名称 |
[var ...] | [var type] | No | n/a | 传递给待插入函数的本地参数 |
例如你在页面上端使用一个带有广告条位置的模板,广告条可以包含任何HTML、图象、FLASH等混合信息. 因此这里不能使用一个静态的链接,同时我们也不希望该广告条被缓存. 这就需要在 insert 函数指定:#banner_location_id# 和 #site_id# 值(从配置文件中取),同时需要一个函数取广告条的内容信息.
在此例中,我们使用了 getBanner 作为 name 属性,同时传递了 #banner_location_id# 和 #site_id# 两个参数. 接下来 Smarty 在你的 php 程序中搜索名为 insert_getBanner() 的函数,#banner_location_id# 和 #site_id# 的值被组合成一个数组作为函数的第一个参数传递给该函数. 为了避免函数命名混乱,所有的 insert 函数都必须以 insert_ 开头. 你的 insert_getBanner() 函数根据传递的参数执行并返回执行的结果. 这些结果就显示在模板中调用该函数的位置. 在此例中 Smarty 调用该函数类似insert_getBanner(array("lid"=>"12345","sid"=>67890"));并将返回的结果显示在调用的位置.
如果设置了 assign 属性,该属性对应的变量名用于保存待包含函数的输出,这样待包含函数的输出就不会直接显示了.注意:赋给模板变量的输出信息在缓存的时候同样无效.
如果指定了 script 属性,在调用函数并执行前将先包含(只包含一次)script指定的 php 脚本. 这是为了防止被调用的函数不存在,先调用包含该函数的 php 脚本将避免该情况.
Smart 对象作为函数的第二个参数被传递,在待包含函数中可以通过 $this 访问并修改 smarty 对象信息.
示例:
smarty中往insert中传参数的方法:
smarty里insert方法传参数的方法介绍如下:
smarty模板:
{insert name="getPara" p1="php" p2="zixue"}
php代码:
function insert_getPara($arr)
{
return $arr["p1"]." " .$arr["p2"];
}
将输出:php zixue
用insert方法的时候,代码里的函数名前面一定要有"insert_" 否则会出错,当然除了你改了模板规则.
其中p1,p2,是要传的两个参数名,可以有多个,任意的,只要里外对应就行.$arr表示数组也是随便写的
相关文章推荐
- 使smarty模板速度大大提高的功能(缓存cache)
- smarty模板局部缓存方法使用示例
- smarty模板局部缓存方法使用示例
- smarty 不同模板 缓存时间
- ASP.NET使用ajax实现分页局部刷新页面功能
- smarty block 功能实现 局部缓存
- smarty局部缓存技术
- PHP文件缓存smarty模板应用实例分析
- Ecshop ajax 局部刷新购物车功能
- smarty局部缓存
- smarty局部缓存
- php文件缓存smarty模板的应用
- 利用smarty模板(登录、有关信息操作等功能)
- 21世纪网:利用meta实现定时刷新,清除缓存保证每次加载最新数据等功能
- 实现app上对csdn的文章列表上拉刷新下拉加载以及加入缓存文章列表的功能 (制作csdn app 四)
- Smarty单模板多缓存
- SMARTY局部缓存
- 利用smarty模板(登录、有关信息操作等功能)
- ionic 的缓存 和局部刷新
- php学习笔记(三十九)smarty缓存特性的使用(包括局部缓存)