smarty应用
时间:2008-01-19 来源:goto999
Literal 标签区域内的数据将被当作文本处理,此时模板将忽略其内部的所有字符信息. 该特性用于显示有可能包含大括号等字符信息的 javascript 脚本. 当这些信息处于 {literal}{/literal} 标签中时,模板引擎将不分析它们,而直接显示.
{$smarty.now|date_format:"%A, %B %e, %Y"}
循环
{section name=!null loop=!null max=null|defaule(max) start=null|default(0) step=null|default(1) show=null|default(true)}
index 用于显示当前循环的索引,从0开始(如果指定了start属性,那么由该值开始),每次加1(如果指定了step属性,那么由该值决定).
index_prev 用于显示上一个循环索引值. 循环开始时,此值为-1.
index_next 用于显示下一个循环索引值. 循环执行到最后一次时,此值仍然比当前索引值大1(如果指定了step,取决于此值).
iteration,rownum 用于显示循环的次数.iteration 不像index属性受start、step和max属性的影响,该值总是从1开始(index是从0开始的).rownum 是iteration的别名,两者等同.
first 如果当前循环第一次执行,first 被设置为true.可用于判断循环是否执行,为false时可以显示“暂无数据”
last 如果当前循环执行到最后一次,last 被设置为true.
loop 用于显示该循环上一次循环时的索引值. 该值可以用于循环内部或循环结束后.
show 是 section 的参数. show 取值为布尔值 true 或 false. 如果设置为 false,该循环将不显示. 如果指定了 sectionelse 子句,该字句是否显示也取决于该值.
total 用于显示循环执行总的次数. 可以在循环中或执行结束后调用此属性.
{/section}
{foreach from=!null item=!null key=null|default(null) name=null|default(null)}
支持iteration first last show total
{/foreach}
{foreach name=outer item=contact from=$contacts}
eg:{foreach key=key item=item from=$contact}
{$key}: {$item}<br>
{/foreach}
{/foreach}
配置文件
# global variables
pageTitle = "Main Menu"
bodyBgColor = #000000
tableBgColor = #000000
rowBgColor = #00ff00
[Customer]
pageTitle = "Customer Info"
[Login]
pageTitle = "Login"
focus = "username"
{config_load file="colors.conf"} <html> <title>{#pageTitle#}</title> <body bgcolor="{#bodyBgColor#}"> <table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}"> <tr bgcolor="{#rowBgColor#}"> <td>First</td> <td>Last</td> <td>Address</td> </tr> </table> </body> </html>