{include}
Тэги {include} используются для включения других шаблонов в текущий.
Любые переменные, доступные в текущем шаблоне, доступны и во
включаемом. Тэг {include} должен иметь атрибут 'file',
который указывает путь к ресурсу шаблона.
Опциональный атрибут assign указывает, что
результат выполнения {include} будет присвоен переменной вместо отображения.
Все значения присвоенных переменных восстанавливаются после того,
как подключаемый шаблон отработал. Это значит, что вы можете использовать
все переменные из подключающего шаблона в подключаемом, но изменения
переменных внутри подключаемого шаблона не будут видны внутри подключающего
шаблона после команды {include}.
Пример 7-10. Функция {include} <html>
<head>
<title>{$title}</title>
</head>
<body>
{include file='page_header.tpl'}
{* тут идёт тело шаблона *}
{include file="$tpl_name.tpl"} <-- заменит $tpl_name его значением
{include file='page_footer.tpl'}
</body>
</html> |
|
Вы также можете передать переменные в подключаемый шаблон в
виде атрибутов.
Любая переменная, переданная в подключаемый
шаблон, доступны только в области видимости подключаемого
файла. Переданные переменные имеют преимущество перед
существующими переменными с аналогичными именами.
Пример 7-11. передача переменных в {include} {include file='header.tpl' title='Main Menu' table_bgcolor='#c0c0c0'}
{* тут идёт тело шаблона *}
{include file='footer.tpl' logo='http://my.example.com/logo.gif'} |
где header.tpl может быть <table border='1' width='100%' bgcolor='{$table_bgcolor|default:"#0000FF"}'>
<tr>
<td>
<h1>{$title}</h1>
</td>
</tr>
</table> |
|
Пример 7-12. {include} и присвоение переменной
Этот пример присвоит содержимое nav.tpl переменной $navbar,
которая затем выводится сверху и снизу страницы.
<body>
{include file='nav.tpl' assign=navbar}
{include file='header.tpl' title='Main Menu' table_bgcolor='#effeef'}
{$navbar}
{* тут идёт тело шаблона *}
{include file='footer.tpl' logo='http://my.example.com/logo.gif'}
{$navbar}
</body> |
|
Для подключения файлов вне папки
$template_dir
можно указывать файл с помощью
ресурсов.
Пример 7-13. Примеры ресурсов шаблонов в {include} {* абсолютные пути *}
{include file='/usr/local/include/templates/header.tpl'}
{* абсолютные пути (то же самое) *}
{include file='file:/usr/local/include/templates/header.tpl'}
{* абсолютные пути в windows (ОБЯЗАТЕЛЬНО используйте префикс "file:") *}
{include file='file:C:/www/pub/templates/header.tpl'}
{* подключение шаблона из ресурса с именем "db" *}
{include file='db:header.tpl'}
{* подключение шаблона с переменным именем - например, $module = 'contacts' *}
{include file="$module.tpl"}
{* не будет работать, т.к. в одинарных кавычках не работает подстановка переменных *}
{include file='$module.tpl'} |
|
См. также
{include_php},
{insert},
{php},
Ресурсы and
Составные шаблоны.