config_load
该函数用于从配置文件中加载变量
file= “配置文件名称”
section=“区域名称”
$tpl->configs=”./configs”//基准路径
./configs/dir_1/a.conf
<{config_load file=” dir_1/a.conf” section=“one” }>
include
标签用于在当前模板中包含其它模板. 当前模板中的变量在被包含的模板中可用. 必须指定 file 属性,该属性指明模板资源的位置.
<{include file=”header.tpl”}>
<{include file=”footer.html”}>
capture
函数的作用是捕获模板输出的数据并将其存储到一个变量里,而不是把它们输出到页面
<{capturename=”自定义区域名”}>
aAaaaaaaaaaaaaa
<{$name}>
<{include file=”head.tpl”}>
……
<{/capture}>
<{$smarty.capture.自定义区域名}>
foreach,foreachelse
foreach 是除 section 之外处理循环的另一种方案(根据不同需要选择不同的方案).
foreach 用于处理简单数组(数组中的元素的类型一致),它的格式比 section 简单许多,缺点是只能处理简单数组.
foreach 必须和 /foreach 成对使用,且必须指定 from 和 item 属性.
name 属性可以任意指定(字母、数字和下划线的组合).
foreach 可以嵌套,但必须保证嵌套中的 foreach 名称唯一.
from 属性(通常是数组)决定循环的次数.
foreachelse 语句在 from 变量没有值的时候被执行.
Iteration
用于显示当前循环的执行次数,从1开始,每执行一次增加 1
first
如果当前循环第一次执行,first 被设置为true.
如果当前循环执行到最后一次,last 被设置为true
Show
show 是 section 的参数. show 取值为布尔值 true 或 false. 如果设置为 false,该循环将不显示. 如果指定了 sectionelse 子句,该字句是否显示也取决于该值.
total
用于显示循环执行总的次数. 可以在循环中或执行结束后调用此属性.
section,sectionelse
模板的 section 用于遍历数组中的数据. section 标签必须成对出现. 必须设置 name 和 loop 属性. 名称可以是包含字母、数字和下划线的任意组合. 可以嵌套但必须保证嵌套的 name 唯一. 变量 loop (通常是数组)决定循环执行的次数. 当需要在 section 循环内输出变量时,必须在变量后加上中括号包含着的 name 变量. sectionelse 当 loop 变量无值时被执行.
if,elseif,else
if 语句和 php 中的 if 语句一样灵活易用,并增加了几个特性以适宜模板引擎. if 必须于 /if 成对出现. 可以使用 else 和 elseif 子句. 可以使用以下条件修饰词:eq、ne、neq、gt、lt、lte、le、gte、ge、is even、is odd、is not even、is not odd、not、mod、div by、even by、odd by、==、!=、>、<、<=、>=. 使用这些修饰词时必须和变量或常量用空格格开.
include_php
函数用于在模板中包含 php脚本. 如果设置了安全模式,被包含的脚本必须位于 $trusted_dir 路径下. include_php 函数必须设置 file 属性,该属性指明被包含 php 文件的路径,可以是 $trusted_dir 的相对路径,也可以是绝对路径.
ldelim,rdelim
用于输出分隔符,也就是大括号"{" 和"}". 模板引擎总是尝试解释大括号内的内容,因此如果需要输出大括号
Literal
Literal 标签区域内的数据将被当作文本处理,此时模板将忽略其内部的所有字符信息. 该特性用于显示有可能包含大括号等字符信息的 javascript 脚本. 当这些信息处于{literal}{/literal} 标签中时,模板引擎将不分析它们,而直接显示