欢迎加入QQ讨论群258996829
麦子学院 头像
苹果6袋
6
麦子学院

带你学习smarty内置函数

发布时间:2016-08-09 10:04  回复:0  查看:2465   最后回复:2016-08-09 10:04  

smarty内置函数是我们在学习smarty的过程中一定会接触到的知识点,我给大家总结了几个,可能有些不是很完善,但是也能够帮助大家理清思路。

 

1、{append} 追加

 

2、{assign} 赋值

 

3、{block} 

 

4、{call} 调用

 

5、{capture}捕获

 

6、{config_load}用来从配置文件中加载config变量(#variables#)到模版。

 

7、{extends} 继承

 

{extends}标签用在模板继承中子模版对父模板的继承。具体的细节参考模板继承一节。

{extends}标签用在模版中的第一行;

如果子模板用{extends}标签继承父模板,那么它只能包含{block}标签(内容),其它任何模板内容都将忽略;

使用此语法为模板资源继承$template_dir目录外的文件。

 

8、{foreach},{foreachelse}遍历

 

{foreach}用来遍历数据数组,{foreach}{section}循环相比更简单、语法更干净,也可以用来遍历关联数组。
{foreach $arrayvar as $itemvar}
{foreach $arrayvar as $keyvar=>$itemvar}

{foreach}循环可以嵌套;

数组变量通常是(另)一个数组的值,用来指导循环的次数,你可以为循环传递一个整数;

当数组变量无值时执行{foreachelse}

{foreach}的属性是@index@iteration@first@last@show@total

可以用循环项目中的当前键({$item@key})代替键值变量(参见下例)。 

 

9、{function} 函数

 

{function}用来在模板中创建函数,可以像调用插件函数一样调用它们。
取代在插件中写表象内容的函数,让模板保持一致性通常是个更好的选择。它也简化了对数据的遍历,例如深度的嵌套菜单。
另外你可以在模板中直接使用{funcname...}函数。

{function}标签必须包含模板函数名的name属性,该name标签名必须能够调用模板函数;

默认变量值应能作为属性传递到模板函数,当模板函数被调用的时候,默认值应能被复写;

在模板函数内部应能使用被调用模板的所有变量值,在模板函数中更改或新建变量的值必须具局部作用域,而且在执行模板函数后这些变量值在被调用模板内部应不可见。 

 

10、{if}{elseif}{else} 条件

 

每一个{if}必须与一个{/if}成对出现,允许使用{else}{elseif},所有php条件和函数在这里同样适用,诸如||or&&andis_array()等等。

 

11、{include} 包含

 

12、{insert}插入

 

{insert}标签类似于{include}标签,不同之处是即使打开caching{insert}所包含的内容也不会被缓存,每次调用模板都会执行{insert}

 

13{section},{sectionelse}遍历数组

您还未登录,请先登录

热门帖子

最新帖子