What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
从配置文件获取的变量,可以通过
井号引用起来访问如#hash_marks#
,
或者通过Smarty变量
$smarty.config
来访问。
后者在使用其他属性或者是访问别的变量值时比较有用,如$smarty.config.$foo。
Example 4.7. 配置变量
配置文件foo.conf
例子:
pageTitle = "This is mine" bodyBgColor = '#eeeeee' tableBorderSize = 3 tableBgColor = "#bbbbbb" rowBgColor = "#cccccc"
示范使用#hash#
方式的模板:
{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>
示范使用
$smarty.config
方式的模板:
{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}
说明里面解释。
参见 变量 和 $smarty保留变量