テンプレートファイル
ここではテンプレートファイルを作成します。SmartyはExcelやWordの差込印刷のようなもので、テンプレートファイルは差し込まれる方の文書ということになります。
テンプレート自体にも制御構造などを記述することも出来るようですが、基本は画面に表示するためのHTMLやXHTMLなどを記述します。そしてプログラム側からデータを差し込みたい箇所だけを特別の記述方法で記載します。
まずはベースとなるHTMLファイルを記述しました。
<html> <head> <title>Smarty Test</title> </head> <body> <h1>Hello</h2> </body> </html>
ここで<h1>タグの中に記述された「Hello」の部分をプログラム側から渡された値を表示するように変更します。そこで固定文字列の代わりに変数を使って記述します。
<html> <head> <title>Smarty Test</title> </head> <body> <h1>{$msg}</h2> </body> </html>
テンプレートファイルでは変数は {$変数名} と記述することが出来ます。テンプレートに記述した変数に対してプログラム側から値を指定します。
また必須ではありませんがテンプレートファイルのコメント形式でコメントを記述することが推奨されています。これはテンプレートファイルがどのような拡張子で保存されていたとしてもSmartyのテンプレートファイルの規則に従ったコメントを記述することで、どのようなファイルなのかが識別することが出来るためということです。テンプレートファイルのコメントは「{*」と「*}」で文字列を囲みます。
{* Smarty Test *} <html> <head> <title>Smarty Test</title> </head> <body> <h1>{$msg}</h2> </body> </html>
テンプレートファイルの拡張子
テンプレートファイルの拡張子は特に決まっていませんが、慣例として「.tpl」を使うようです。それでは先ほどのファイルをを「index.tpl」として保存します。保存する場所は「templates」ディレクトリの中です。
( Written by Tatsuo Ikura )