全部博文(315)
分类:
2007-05-24 09:44:01
1、注释 模板注释被*号包围,例如 {* this is a comment *}
2、每一个smarty标签输出一个变量或者调用某种函数.在定界符内 函数(用'{'包住)和其属性(用界符包住)将被处理和输出 {include file="header.tpl"}
3、从PHP获取变量
$smarty = new Smarty;
$smarty->assign('Contacts',
array('fax' => '555-222-9876',
'email' => 'zaphod@slartibartfast.com',
'phone' => array('home' => '555-444-3333',
'cell' => '555-111-1234')));
$smarty->display('index.tpl');
index.tpl:
{$Contacts.fax}
{$Contacts.email}
{* you can print arrays of arrays as well *}
{$Contacts.phone.home}
{$Contacts.phone.cell}
OUTPUT:
555-222-9876
也可以通过索引来访问数组数据
$smarty = new Smarty;
$smarty->assign('Contacts',
array('555-222-9876',
'zaphod@slartibartfast.com',
array('555-444-3333',
'555-111-1234')));
$smarty->display('index.tpl');
index.tpl:
{$Contacts[0]}
{$Contacts[1]}
{* you can print arrays of arrays as well *}
{$Contacts[2][0]}
{$Contacts[2][1]}
OUTPUT:
555-222-9876
zaphod@slartibartfast.com
555-444-3333
555-111-1234
4、修饰你的变量
<{变量|修饰函式}>
<{变量|修饰函式:"参数(非必要,视函式而定)"}>
范例如下:
<{$var|nl2br}>
<{$var|string_format:"%02d"}>
比如:" /> 总金额:<{$total|number_format:""}>元 最终得出的输出是: 总金额:21,000 元
5、这里注意几个重点:1. 模版的位置都是以先前定义的 template_dir 为基准;2. 所有 include 进来的子模版中,其变量也会被解译。;3. include 中可以用「变量名称=变量内容」来指定引含进来的模版中所包含的变量,如同上面模版 4 的做法。
利用 foreach 来呈现 array1
<{foreach item=item1 from=$array1}>
<{$item1}>
<{/foreach}>
利用 section 来呈现 array1
<{section name=sec1 loop=$array1}>
<{$array1[sec1]}>
<{/section}>
利用 foreach 来呈现 array2
<{foreach item=index2 from=$array2}>
<{foreach key=key2 item=item2 from=$index2}>
<{$key2}>: <{$item2}>
<{/foreach}>
<{/foreach}>
利用 section 来呈现 array1
<{section name=sec2 loop=$array2}>
index1: <{$array2[sec2].index1}>
index2: <{$array2[sec2].index2}>
index3: <{$array2[sec2].index3}>
<{/section}>