テンプレートから動的にページを作成するSmarty

テンプレートから動的にページを作成するSmarty

2021/01/20 updated.

BlocksCMSはPHPのテンプレートエンジンライブラリー「Smarty」を使って動的にページを表示している。

テンプレートにSmartyのコードを記述することで任意の値を表示したり、条件判断して表示・非表示などを制御することができる。

テンプレートはSmartyでコンパイルし保存し、HTMLを出力する場合はコンパイルしたファイルを使うので高速に表示される。
変更があったテンプレートを再度コンパイルされる。変更有無の判断はテンプレートファイルのタイムスタンプで行われるので場合によってはコンパイルされない場合がある。その時はコンパイルファイルを削除することでコンパイルされる。

テンプレートの拡張子は「tpl」。

Smartyコードの基本構造

Smartyのコードはデリミタ({ })で囲まれている。
デリミタ外の内容は静的コンテンツとして表示される。

Smartyコードの記述例

  • コメント {* コメント *}
  • 変数 {$foo}
  • 配列 {$foo[1]}
  • 連想配列 {$foo.bar}