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} ]]>