include_php
Имя атрибута
Тип
Обязателен
По умолчанию
Описание
file
строка (string)
Да
n/a
Имя подключаемого php файла
once
логический (boolean)
Нет
true
Указывает подключать файл или нет,
если он уже был однажды подключен
assign
строка (string)
Нет
n/a
Название переменной, которой будет
присвоен вывод include_php
Тэг include_php используется для подключения php скрипта в шаблон.
Если security включен, то php скрипт должен быть расположен в папке
$trusted_dir. Тэг include_php должен иметь атрибут "file", который
указывает путь подключаемого php файла (относительный к
$trusted_dir или абсолютный путь).
include_php это хороший способ для управления компонентными шаблонами,
держать PHP код вне файлов шаблонов. Допустим, у вас есть шаблон,
который выводит навигацию сайта, информация о которой динамически
загружается из базы данных. Вы можете хранить php файл, который
получает данные из базы данных, в отдельной папке и подключать его
в начале шаблона. Теперь можно подключать этот файл шаблона в любом
месте, не волнуясь о происхождении информации (база данных или нет).
По умолчанию, php файлы подключаются только один раз, даже если
вызываются несколько раз в шаблоне. Можно указать, что файл должен
быть подключен каждый раз, указав атрибут once.
Установив once в ложь (false) указывает, что файл должен быть
подключен вне зависимости от того, был ли он подключен раньше.
Можно указать опциональный атрибут assign,
который указывает имя переменной, которой будет присвоен вывод
include_php вместо отображения.
Объект smarty доступен в подключаемом php файле как $this.
функция include_php
query("select * from site_nav_sections order by name",SQL_ALL);
$this->assign('sections',$sql->record);
?>
index.tpl
---------
{* абсолютный путь или относительный относительно $trusted_dir *}
{include_php file="/path/to/load_nav.php"}
{foreach item="curr_section" from=$sections}
{$curr_section.name}
{/foreach}
]]>