Smarty從組態檔案讀取的變數


從組態檔案讀取的變數

組態檔案中的變數需要通過用兩個"#"或者是smarty的保留變數 $smarty.config.來呼叫(下節將講到)
第二種語法在變數作為屬性值並被引號括住的時候非常有用.
(譯註:舉個例子 {include file="#includefile#"} 這樣#includefile#將被當作字元處理,而不表示組態檔案變數,
    但可以這樣表示 {include file="`$smarty.config.includefile`"}不要忘了加``)


例 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: (alternate syntax)

{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>


OUTPUT: (same for both examples)

<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} . 的章節裡說明.