テンプレートエンジン「smarty」のまとめ

[search:web:{$smarty.now}
]
バージョン: {$smarty.version}

変数の修飾子

変数に「修飾子」を指定して、出力形式をテンプレート側で既定できる。
大文字化、小文字化、最大文字数、日付フォーマット、改行やスペースをブラウザで表示できる形式(
,  )にする、など。例:


{* 変数に修飾子を適用 *}
{$title|upper}

{* 現在の日付を整形するために date_format を使用 *}
{$smarty.now|date_format:"%Y/%m/%d"}

{* php の count *}
{$myArray|@count}

関数

テンプレート内で行う処理を表したもの。

  • 配列の数だけ繰り返し出力
  • 設定ファイルや、ヘッダ用デザインを別ファイルにしてそれを読み込む
  • 条件によって出力したり、しなかったりする部分を定義する
  • 配列から、HTML要素(テーブル、ラジオボタン、コンボ/リストボックス)を作成する

などがある。

オブジェクトの利用以下のように、オブジェクトをテンプレート内で利用できる。

コード

class My_Object {
function meth1($params, &$smarty_obj) {
return 'this is my meth1';
}
}

$myobj = new My_Object;

$smarty->register_object('foobar',$myobj);

テンプレート

{* 登録されたオブジェクトにアクセスします *}
{foobar->meth1 p1='foo' p2=$bar}

キャッシュ

キャッシュの設定をすることで、出力内容をファイルに保存して2回目以降テンプレート→出力内容の処理を行わずに高速に処理を行う。