Smarty内建函数
来源:互联网 发布:21端口入侵 编辑:程序博客网 时间:2024/05/16 16:15
暂时只记录个别,不全部记录
{nsert} 函数
缓存开启后 如果不想缓存模板中某一个部分的信息可以使用此函数
实例代码:
{insert nme="getMssage" lid=1 , sid=2}
此时smarty会调用函数名为 insert_getMessae()的函数 而该函数通常是我们自定义的,函数大概的代码 (为了说明 简单写)
<?phpfunction insert_getMessage($ars) { /* 通过上面的insert调用此函数时 参数$ars 的值为 $ars = array('lid' => 1 ,'sid' => 2); 也就是说你可以传递任意个参数 属性名会成为 $ars 的键属性的值就是对应的值 */ // 一些数据库操作 获取数据 return $resut; }?>
这里 假设 $resul 是一个数组,一旦 smarty 调用 getMessage 函数得到结果之后会立刻输出,所以 目前我们只能看到 Array 被输出在页面中。
解决方法是
1:直接在函数体内便利结果数组,直接把 html 返回。
2:先把结果数组用 assign 保存下来 例如
{insert name="getMessage" lid= 1 , sid=2 assign="testMessage"}
如果 insert 有 assign 那么 smarty 不会吧 结果直接输出,而是把 结果赋值到 testMessage 变量中。
我们可以通过 section 或 foreach 来便利结果。
问题是我测试后发现 如此的操作 得到的 testMessage 用 循环语句 便利 是看不到效果,当我把 $tpl -> caching = false 之后才能看到。
但这样做的话 已经关闭了缓存 何必还使用 insert 呢 ?
其他的 解决方法还没找到,刚碰smarty 后期 找到其他的 解决方法之后在补。
- smarty内建函数
- smarty 内建函数
- smarty内建函数
- smarty内建函数
- smarty内建函数
- SMARTY内建函数
- smarty内建函数
- smarty内建函数
- smarty内建函数
- smarty内建函数
- smarty内建函数
- smarty内建函数
- smarty内建函数
- smarty内建函数
- Smarty内建函数
- Smarty内建函数
- smarty的内建函数
- smarty内建函数简介
- 异步
- 《花开半夏》--5 程秀秀(2)
- asp.net 实现发送邮件(根据国家读取对应国家语言的邮件内容)
- eclipse设置编码问题
- Java 1.7 里新出现的功能的一些用法例子:
- Smarty内建函数
- 《花开半夏》--6 酸涩(1)
- 分享一个精彩的博文
- Linux进程状态解析之R、S、D、T、Z
- oracle killed会话不释放的问题。
- Forefront边缘防火墙版本比较
- Redis的事件处理机制
- 杭电ACM 2031 进制转换
- 中科院近物所达胜产学研基地揭牌