テンプレート変数は、先頭にドル記号 $ を付けます。変数名には PHP の変数 と同様に英数字およびアンダースコアが使用できます。 配列の参照には、インデックスの数値もしくはそれ以外の文字を使用できます。 オブジェクトのプロパティとメソッドの参照も同様です。
Config ファイルの変数
にはドル記号を付けず、参照する際にはハッシュマーク # で囲むか、
$smarty.config
変数として指定します。
Example 3.2. 変数
{$foo} <-- 単純な変数 (配列やオブジェクト以外) を表示します。 {$foo[4]} <-- 0から始まるインデックスを持った配列の5番目の要素を表示します。 {$foo.bar} <-- "bar"というキーに対応する配列の値を表示します。PHP の $foo['bar'] と同じです。 {$foo.$bar} <-- 変数のキーに対応する配列の値を表示します。PHP の PHP $foo[$bar] と同じです。 {$foo->bar} <-- オブジェクトのプロパティ "bar"を表示します。 {$foo->bar()} <-- オブジェクトのメソッド"bar"の返り値を表示します。 {#foo#} <-- configファイル変数"foo"を表示します。 {$smarty.config.foo} <-- {#foo#}と同じです。 {$foo[bar]} <-- sectionループ内でのみ正当な構文です。{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
の値で取得します。