Если большинство ваших шаблонов имеют похожие верхние и нижние части, то имеет смысл вынести их в отдельные файлы и подключать их. Но как быть, если шапка должна иметь различные заголовки на различных страницах? Вы можете передавать текст заголовка шапке в качестве атрибута в момент её включения.
Пример 18.3. Присвоение переменной заголовка (title) шаблону-шапке
mainpage.tpl
- когда отображается главная страница,
заголовок “Main Page” передается в
header.tpl
,
и будет в дальнейшем использован в качестве заголовка.
{include file='header.tpl' title='Main Page'} {* тут находится тело шаблона *} {include file='footer.tpl'}
archives.tpl
- когда отображается страница архива,
заголовок будет “Archives”.
Обратите внимание, что в этом примере мы
используем переменную из archives_page.conf
, вместо
того, чтобы жестко прописать её в шаблоне.
{config_load file='archive_page.conf'} {include file='header.tpl' title=#archivePageTitle#} {* тут находится тело шаблона *} {include file='footer.tpl'}
header.tpl
- Обратите внимание, что
“Smarty News” отображается тогда, когда $title не задан,
благодаря модификатору
default
.
<html> <head> <title>{$title|default:'Smarty News'}</title> </head> <body>
footer.tpl
</body> </html>