作成日:2006/08/07
4B.2.2 テンプレート変数
<head>
<meta http-equiv="content-type"
content="text/html charset=<{$site_charset}>" />
<meta http-equiv="content-language" content="<{$site_lang}>" />
<meta name="robots" content="<{#meta_robots#}>" />
<meta name="keywords" content="<{#meta_keywords#}>" />
<meta name="description" content="<{#meta_description#}>" />
<meta name="rating" content="<{#meta_rating#}>" />
<meta name="author" content="<{#meta_author#}>" />
<meta name="copyright" content="<{#meta_copyright#}>" />
- ■PHPによってアサインされたテンプレート変数
- <{ $variable }>
- ■設定ファイルから読み込まれるテンプレート変数
- <{ #variable# }>
テンプレート変数には2種類あります。 $ で始まるテンプレート変数は、 PHPスクリプトによってアサインされる必要があります。 # で囲まれた変数は 設定ファイルから読み込まれる変数です。 この変数はPHPスクリプトに無関係なので、デザイナーが独自に定義てきます。 用語の使い方として、 $ で始まる変数を狭義のテンプレート変数と呼ぶ傾向があります。
特に重要なのはPHPによってアサインされたテンプレート変数です。 なぜなら、この変数はプログラマとデザイナーの境界仕様になるからです。 従って、プログラマーとデザイナーで共同作業を行うためにはテンプレート変数の仕様が必要になります。 以下に例題のテンプレート変数の仕様を挙げて置きます。
例題のテンプレート変数の仕様:
| テンプレート変数 | 型 | 説明 |
|---|---|---|
$site_lang |
スカラー | コンテンツの使用言語 |
$site_charset |
スカラー | コンテンツの使用文字セット |
$site_url |
スカラー | サイトのURL |
$site_css |
スカラー | テーマで使うCSSファイルのURL |
$site_title |
スカラー | サイトのタイトル |
$menu[].title |
配列 | メニューのタイトルとURL |
$contents |
スカラー | コンテンツの内容 |
テンプレート変数、例えば $site_lang 〜 $site_title は 以下のようにしてPHPによってアサインされます:
$objSmarty->assign('site_lang', $site_lang);
$objSmarty->assign('site_charset',$site_charset);
$objSmarty->assign('site_url', $site_url);
$objSmarty->assign('site_css', $site_css);
$objSmarty->assign('site_title', $site_title);
$objSmartyはSmartyオブジェクトです。詳しくは「プログラムの作成」を参照して下さい。 ここでは「PHPによってアサインされる」というイメージを掴んでください。
