simplate (0.4.2) | 2010-01-13 01:02 |
テンプレート変数は、先頭にドル記号 $ を付けます。 変数名には PHP の変数 と同様に英数字およびアンダースコアが使用できます。 配列の参照には、インデックスの数値もしくはそれ以外の文字を使用できます。 オブジェクトのプロパティとメソッドの参照も同様です。
- <{$foo}> <-- 単純な変数 (配列やオブジェクト以外) を表示します。
- <{$foo.4}> <-- 0 から始まるインデックスを持った配列の 5 番目の要素を表示します。
- <{$foo.bar}> <-- "bar" というキーに対応する配列の値を表示します。PHP の $foo['bar'] と同じです。
- <{$foo->bar}> <-- オブジェクトのプロパティ "bar" を表示します。$foo が連想配列の場合 $foo['bar'] と同じです。
- <{$foo->bar()}> <-- オブジェクトのメソッド "bar" の返り値を表示します。
- <{$foo[bar]}> <-- section ループ内でのみ正当な構文です。<{section}> の項を参照のこと。
- その他多くの組み合わせが可能です。
- <{$foo.bar.baz}>
- <{$foo.4.baz}>
- <{$foo.bar.baz.4}>
- <{$foo->bar->baz()}>
- <{$foo->bar($baz, 2, $bar)}> <-- パラメータを渡します。
Smarty では可能な以下のような書き方はサポートしていません。
<{$foo.$bar}> <-- Smarty の場合、これは PHP の $foo[$bar] と同じですが、未サポートです。
連想配列のキーを変数で与えたい場合は php プログラムで工夫する必要があります。