导读:本章是对Smarty常用的一些功能进行了详述,让您在最短的时间内掌握Smarty模板的日常开发。如果您需要更深入的了解Smarty这个优秀的PHP模板...
本章是对Smarty常用的一些功能进行了详述,让您在最短的时间内掌握Smarty模板的日常开发。如果您需要更深入的了解Smarty这个优秀的PHP模板引擎技术,请参考Smarty中文手册。
一、对模板赋值
将变量输入到模板
程序:
$this->hello = "Hello world";
模板:
<{$hello}>
输出:
Hello world
将数组输入到模板
程序:
$this->color = array('red' => '红色', 'yellow' => '黄色', 'green' => '绿色');
模板可以使用:
<{$color['red']}>
同时也可以:
<{$color.red>
输出:
红色
二、模板内部语法
if,elseif,else 条件判断
<{if $color == "red"}>
这是红色的。
<{elseif $color == "green" || $color == "white"}>
这是绿色或者白色的。
<{else}>
这不知道什么颜色
<{/if}>
Smarty中的if/else除了不使用括号外和PHP的if/else几乎是一样的。
include 包含文件
<{include file="header.html"}>
来进行包含。
在Smarty中还有include_php,和include一样,只是include_php包含的是可执行的PHP文件。同时,如果使用include_php函数,将可能涉及到Smarty的安全特性,这和{php}语法也是有关的。详细请参考Smarty中文手册。
当然,在基于Smarty的模板开发中,我们原则上不建议在模板内使用PHP的功能。
foreach,foreachelse
和PHP的foreach一样,循环处理数组。
例:$this->color = array('red' => '红色', 'yellow' => '黄色', 'green' => '绿色');
<{foreach item=colorname from=$color key=enname}>
<{$enname}>: <{$colornam}><br>
<{/foreach}>
将输出:
red:红色
yellow:黄色
green:绿色
多维数组也是同样处理,请留意以下的多维数组:
例:
$students =
array(
'name' => 'He Qing',
'age' => 17,
'score' => array(
'math' => 76,
'english' => 92,
'PE' => 72
),
),
array(
'name' => 'Lee Wen',
'age' => 18,
'score' => array(
'math' => 69,
'english' => 80,
'PE' => 79
),
),
);
$this->students = $students ;