What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
テンプレート変数は、先頭にドル記号 $ を付けます。変数名には 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
の値で取得します。