php模板引擎smarty的变量有多种类型,不同类型的变量是以它的前缀符号来区分的。
如果要输出一个变量,用定界符将它括起来就可以,例如:
{$Name}
{$Contacts[row].Phone}
<body bgcolor="{#bgcolor#}">
第一种类型:从PHP分配的变量和模板内的assign函数分配的变量显示时前面需要带"$符号.(比较常见,实例可参考上述代码)
第二种类型:从配置文件读取的变量或者是smarty的变量($smarty.config),显示时由"#"括起来,代码实例:
foo.conf 配置文件
pageTitle = "cn-web.com演示"
bodyBgColor = "#eeeeee"
tableBorderSize = "3"
tableBgColor = "#bbbbbb"
rowBgColor ? "#cccccc"
index.tpl 文件(调用方式1)
{config_load file="foo.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>
index.tpl: (alternate syntax)调用方式2
{config_load file="foo.conf"}
<html>
<title>{$smarty.config.pageTitle}</title>
<body bgcolor="{$smarty.config.bodyBgColor}">
<table border="{$smarty.config.tableBorderSize}" bgcolor="{$smarty.config.tableBgColor}">
<tr bgcolor="{$smarty.config.rowBgColor}">
<td>First</td>
<td>Last</td>
<td>Address</td>
</tr>
</table>
</body>
</html>
OUTPUT: (两个例子输出结果相同)
<html>
<title>This is mine</title>
<body bgcolor="#eeeeee">
<table border="3" bgcolor="#bbbbbb">
<tr bgcolor="#cccccc">
<td>First</td>
<td>Last</td>
<td>Address</td>
</tr>
</table>
</body>
</html>
配置文件的变量只有在它们被加载的时候才用到.
第三种类型:保留变量
{$smarty.变量}保留变量可以被用于访问一些特殊的模板变量
如:
Request variables[页面请求变量]
{$smarty.now}
{$smarty.const}
{$smarty.capture}
{$smarty.config}
{$smarty.section}, {$smarty.foreach}
{$smarty.template}
此文章由 http://www.ositren.com 收集整理 ,地址为:
http://www.ositren.com/htmls/541.html