設定ファイルから読み込まれた変数
設定ファイルから読み込まれた変数は、それらをハッシュマーク(#)で囲むか、smarty変数 $smarty.config?を用いる事で参照できます。2つめの構文は、クォートされた属性値の中に含む場合に便利です。
例 4-5. 設定ファイル
foo.conf:
pageTitle = "This is mine"
bodyBgColor = "#eeeeee"
tableBorderSize = "3"
tableBgColor = "#bbbbbb"
rowBgColor = "#cccccc"
index.tpl:
{config_load file="foo.conf"}
<html>
<title>{#pageTitle#}</title>
<body bgcolor="{#bodyBgColor#}">
<table border="{#tableBorderSize#}" >bgcolor="{#tableBgColor#}">
<tr bgcolor="{#rowBgColor#}"><td>First</td> <td>Last</td> <td>Address</td></tr>
</table>
</body>
</html>
index.tpl: (異なる書式)
{config_load file="foo.conf"}
<html>
<title>{$smarty.config.pageTitle}</title>
<body bgcolor="{$smarty.config.bodyBgColor}">
<table border="{$smarty.config.tableBorderSize}" >bgcolor="{$smarty.config.tableBgColor}">
<tr bgcolor="{$smarty.config.rowBgColor}"><td>First</td> <td>Last</td> <td>Address</td></tr>
</table>
</body>
</html>
出力: (どちらの例も同一)
<html>
<title>This is mine</title>
<body bgcolor="#eeeeee">
<table border="3" bgcolor="#bbbbbb">
<tr bgcolor="#cccccc"><td>First</td> <td>Last</td> <td>Address</td></tr>
</table>
</body>
</html>
変数は、設定ファイルから読み込まれるまで使用できません。 詳細はconfig_load?の項で説明します。