変数

テンプレート変数は、先頭にドル記号 $ を付けます。変数名には 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 の値で取得します。

$smartyconfig 変数{assign} および assign() も参照してください。