Присвоение переменной заголовка (title) шаблону-шапке

Если большинство ваших шаблонов имеют похожие верхние и нижние части, то имеет смысл вынести их в отдельные файлы и подключать их. Но как быть, если шапка должна иметь различные заголовки на различных страницах? Вы можете передавать текст заголовка шапке в качестве атрибута в момент её включения.

Пример 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>