来源:http://www.php100.com/manual/smarty/
1.backticks(倒引号)的用法
{func var="test $foo.bar test"} <-- sees $foo (not $foo.bar)
{func var="test `$foo.bar` test"} <-- sees $foo.bar
2.->(指针符)和.(点)的区别
{$foo->bar-$bar[1]*$baz->foo->bar()-3*7} <-- $foo is an object
{if ($foo+$bar.test%$baz*134232+10+$b+10)} <-- $bar is an array
3.数组元素的两种访问方式
{$Contacts[2][0]}<br>
{$Contacts.phone.cell}<br>
4.配置文件中的变量需要通过用两个"#"或者是smarty的保留变量 $smarty.config.来调用
第二种语法在变量作为属性值并被引号括住的时候非常有用.
(举个例子 {include file="#includefile#"} 这样#includefile#将被当作字符处理,而不表示配置文件变量,但可以这样表示 {include file="`$smarty.config.includefile`"}不要忘了加``)
5.模板的 section 用于遍历数组中的数据. section 标签必须成对出现. 必须设置 name 和 loop 属性. 名称可以是包含字母、数字和下划线的任意组合. 可以嵌套但必须保证嵌套的 name 唯一. 变量 loop (通常是数组)决定循环执行的次数. 当需要在 section 循环内输出变量时,必须在变量后加上中括号包含着的 name 变量.
{* this example will print out all the values of the $custid array *}
{section name=customer loop=$custid}
id: {$custid[customer]}<br>
{/section}
输出结果:
id: 1000<br>
id: 1001<br>
id: 1002<br>