smarty局部不缓存


insert 所包含的内容不会被缓存,每次调用该模板都会重新执行该函数.
insert(name,assign,script,[var...])
name:插入函数的名称
assign:该属性指定一个变量保存待插入函数输出
script:插入函数前需要先包含的php脚本名称
[var ...]:传递给待插入函数的本地参数
例:
1、例子是在昨天的例子的基础上,今天加了个时间,如果时间也加入缓存,在次访问从缓存调用,时间

一直停留在上次,如果让时间不缓存,下次调用就是当前的时间。自定义的变量调节器是保存的当前时

间。在duohuancun1.tpl中 加入了当前的时间<{insert name=getDate}>
2、今天也在学分上加上了局部不缓存,如果数据库中的学分更改了,缓存中的学分没有更改(因为再次

访问是访问的缓存文件),让学分局部不缓存,数据库中的学分更改,模板中的也能更改。在

duohuancun1.tpl中 学分出加了:<{insert name=getStuinfo pp=$array[stu].c_id}>,学分就被不缓

存,详细信息中的学分也改变了,在duohuancun2.tpl中学分处做的修改:<{insert name=getStuinfo

pp=$stu_details[stu_detail].c_id}>
3、今天多了两个自定义变量调节器的文件

昨天例子的步骤思路:
1、从数据库中读取内容(一个表),读出之后把内容写成二维数组形式(duohuancun.php),
2、在模板(duohuancun1.tpl)中把它以表格的形式读出来,在读出的表格中有增加一列详细信息,当

你点击详细信息时(用超链接<a>)会跳转到duohuancun2.php中,在超链接地址

(<ahref="duohuancun2.php?id=<{$array[stu].c_id}>">)会设置一个id,值是当前的数据库中的c_id

号(学号)。
3、在duohuancun2.php中,会连接数据库查看数据库中的内容,id就是你地址中传来的id("select *

from course where c_id=".$_GET["id"];)从数据库中读出后写成二维数组的形式,duohuancun2.tpl

模板中用section遍历出来。
4、当你创建缓存时,你预览一次缓存生成,下次再访问时,就直接访问缓存文件,导致你查看一个人的

详细信息后,在查看其它人的详细信息时,内容都是你第一次看的信息,所以用到单页面多缓存,给同

一个模板生成多个缓存文件。在duohuancun2.php中$smarty->display("duohuancun2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值