什么是 Smarty?
为什么要使用它?
用例和工作流
语法比较
模板继承
最佳实践
速成课程
当你的大多数模板使用相同的 页眉和页脚时,通常会将它们拆分为自己的模板,并使用 {include}
包含它们。但如果页眉需要根据你访问的页面而有不同的标题怎么办?当包含页眉时,你可以将标题作为属性传递给它。
示例 21.3 将标题变量传递到页眉模板
mainpage.tpl
- 当绘制主页时,“主页”的标题被传递给 header.tpl
,并随后用作标题。
{include file='header.tpl' title='Main Page'} {* template body goes here *} {include file='footer.tpl'}
archives.tpl
- 当绘制存档页面时,标题将为“存档”。请注意在存档示例中,我们正在使用 archives_page.conf
文件中的变量,而不是硬编码变量。
{config_load file='archive_page.conf'} {include file='header.tpl' title=#archivePageTitle#} {* template body goes here *} {include file='footer.tpl'}
header.tpl
- 请注意,如果 $title
变量未设置,则会打印“Smarty 新闻”,并使用default
变量修饰符。
<html> <head> <title>{$title|default:'Smarty News'}</title> </head> <body>
footer.tpl
</body> </html>