内建函数:
1)capture:作用是捕获模板输出的数据并将其存储到一个变量里,而不是把它们输出到页面,capture必须是成对出现,该函数不能嵌套使用,任何在<{capture name="foo"}><{/capture}>函数之间数据将被存储到变量$foo中,该变量由name属性指定。
在模板中通过$smarty.capture.foo访问该变量
2)config_load:
属性:file 类型:string 必须 待包含的配置文件的名称
section string 不必须 配置文件中待加载部分的名称
scope string 不必须 加载数据的作用域
global boolean 不必须 说明加载的变量是否全局可见
3)foreach foreachelse
属性:from 类型:string 必须 待循环数组的名称
item string 必须 当前处理元素的变量名称
key string 不必须 当前处理元素的键名
name string 不必须 该循环的名称,用于访问该循环
此函数必须是成对出现的,并且必须有from和item属性,foreach可以循环,但是必须保证嵌套中的foreach名称唯一
4)include
属性:file 类型:string 必须 待包含的模板文件名
assign string 不必须 该属性指定一个变量保存待包含模板的输出
此函数用于在当前模板中包含其他模板,当前模板中的变量在被包含的模板中使用,必须指定file属性,该属性指明模板资源的位置
如果设置了assign属性,该属性对应的变量名用于保存待包含模板的输出,这样待包含模板的输出就不会直接显示了
5)section sectionelse
属性:name 类型:string 必须 该循环的名称
loop $variable_name 必须 决定变量次数的变量名称
start integer 不必须 循环执行的初始位置
step integer 不必须 该值决定循环的步长,例如指定step=2将只遍历下标为0、2、4等地元素,如果step为负,那么从后开始遍历
max integer 不必须 设定循环最大执行次数
show boolean 不必须 决定是否显示该循环
模板的section用于遍历数组中的数据,section标签必须成对出现,必须设定name和loop属性,可以嵌套但是必须保持嵌套name唯一,变量loop(通常是数组)决定循环执行的次数,当需要在section循环内输出变量时,,必须在变量后加上中括号包含着的name变量,section当loop变量无值时被执行。