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

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

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