变量
模板变量以$符号开始。它们可以包含数字、字符以及下划线,非常类似于PHP变量。你可以用数字索引或非数字索引引用数组。同样也可以引用对象属性和方法。
配置文件变量是$语法的特例,引用它们需要用类似#hashmarks#的语法,或通过$smarty.config变量。
例子3-2. 变量
{$foo} <-- 显示一个简单变量(非数组、非对象)
{$foo[4]} <-- 显示一个0基底数组的第五个元素
{$foo.bar} <-- 显示一个数组对应"bar"键的值,类似于PHP的$foo['bar']
{$foo.$bar} <-- 显示一个数组对应变量键的值,类似于PHP的$foo[$bar]
{$foo->bar} <-- 显示对象属性"bar"
{$foo->bar()} <-- 显示对象方法"bar"的返回值
{#foo#} <-- 显示配置文件变量"foo"
{$smarty.config.foo} <-- 等于{#foo#}
{$foo[bar]} <-- 仅在段落循环中合法,参见{section}
{assign var=foo value='baa'}{$foo} <-- 显示"baa",参见{assign}
还有很多可用的组合:
{$foo.bar.baz}
{$foo.$bar.$baz}
{$foo[4].baz}
{$foo[4].$baz}
{$foo.bar.baz[4]}
{$foo->bar($baz,2,$bar)} <-- 传递参数
{"foo"} <-- 允许静态值
{* 显示服务器变量"SERVER_NAME" ($_SERVER['SERVER_NAME'])*}
{$smarty.server.SERVER_NAME} |
|
请求变量,诸如$_GET,$_SESSION等可以通过保留的$smarty变量获得。
参见$smarty,配置变量,{assign}以及assign()。