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