在之前的smarty模板中插入了一段代码:
{#if $hello#}
welcome,<font color="{#$fontColor#}">{#$hello#}</font>
{#else#}
welcome,{#$hello#}
{#/if#}
定界符{##}包住的if语句结尾需要用/if结束
可以从配置文件读取变量:
foo.conf:
pageTitle = "This is mine"
bodyBgColor = "#eeeeee"
index.tpl:
{config_load file="foo.conf"}
<html>
<title>{#pageTitle#}</title>
<body bgcolor="{#bodyBgColor#}">
<p>content</p>
</body>
</html>
模板的 section 用于遍历数组中的数据. section 标签必须成对出现. 必须设置 name 和 loop 属性:
{* this example will print out all the values of the $countid array *}
{section name=count loop=$custid}
id: {$countid[count]}<br>
{/section}
输出:
id: 1000<br>
id: 1001<br>
id: 1002<br>
assign 用于在模板被执行时为模板变量赋值;
append 添加,直接使用就和assign一样,但是再次输入时就会形成数组
//
$smarty->append("Name","Peter");
$smarty->append("Address",$address);
// 数组
$smarty->append(array("city" => "china","state" => "jiangsu"));
// 直接使用和assign()差不多
$smarty->append('foo', 'Fred');
// 这里,foo已经变成了模板中的一个数组。
$smarty->append('foo', 'Albert');
// 添加数组元素
$array = array(1 => 'one', 2 => 'two');
$smarty->append('X', $array);