作成日:2006/08/07
4C デザイナーのSmartyリファレンス
本章は、Smatry Version 2.6.11を対象にしています。
Smatry の公式リファレンス(最新)は以下のURLからアクセスできます。
http://smarty.php.net/manual/en/
非公式ですが、日本語マニュアル(2006/07/20時点の最新バージョンはVersion 2.6.6です )がネット公開されています。
http://sunset.freespace.jp/smarty/
4C.1 テンプレートの基本構文
テンプレートタグ
テンプレートタグはデリミタ(区切り文字)によって囲まれます。 デフォルトのデリミタはカーリブラケット { } です。 これはSmartyオブジェクトのメンバ変数( $left_delimiter と $right_delimiter ) を使った変更できます。 以下では、テンプレートタグがカーリブラケット { } であるとして説明します。
テンプレートの基本的な文法要素
| 文法要素 | 用例 | 説明 |
|---|---|---|
| コメント | {* コメント *} |
コメントは出力されません。テンプレートファイル中に注釈を書く場合の使用します。 |
| テンプレート変数 | { $variable }
{ #variable# } |
テンプレート変数は出力時に実際の値に置換されます。関数の属性値としても使えます。 $出始まる名前はPHPによってアサインされたテンプレート変数です。 #で囲まれた名前は設定ファイルから読み込まれる変数です。 |
| テンプレート関数 | {* 通常の関数 *}
{include file="include.tpl"}
{* ブロック関数 *}
{if $login}
Welcome {$login_name}!
{/if} |
テンプレート関数には「組み込み関数」と「カスタム関数」があります。 カスタム関数はプラグインによって追加できます。 両者の違いは便宜的なもので、文法的な違いありません。 カスタム関数の種類:
ブロック関数は左例のif関数などです。 コンパイラ関数はテンプレート関数と文法的に同じですが、 コンパイル時にPHPコードを取り込む為に使用されるプラグインです。 |
| 修正子 | {$title|upper}
{$title|upper|truncate:15}
{func|upper} |
修正子はテンプレート変数(または関数)の出力をフィルタリングする場合に使用します。 修正子と変数(または関数)はパイプ記号 | で区切ります。 修正子に与えるパラメータはコロン( : )で区切ります。 |
