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、&&、and、is_array()等等。
11、{include} 包含
12、{insert}插入
{insert}标签类似于{include}标签,不同之处是即使打开caching,{insert}所包含的内容也不会被缓存,每次调用模板都会执行{insert}。
13、{section},{sectionelse}遍历数组