Get Smarty

Donate

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Buy cheap glasses from Cheapglasses123.com and save up to 80%.

Where to buy prescription glasses? EyewearCanada.com is your best choice!

Visit www.sport-kick.com for cheap soccer cleats, sneakers and Soccer Jerseys updates

Advertisement

{include_php}

Техническое замечание

{include_php} достаточно устарела в Smarty, вы можете достичь этой функциональности при помощи собственных функций шаблона. Единственная причина для использования {include_php} - это серьёзная необходимость отделить PHP-функцию от директории plugins или кода вашего приложения. См. примеры составных шаблонов для дополнительной информации.

Имя атрибута Тип Обязателен По умолчанию Описание
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, либо абсолютный путь.

По умолчанию, PHP-файлы подключаются только один раз, даже если вызываются несколько раз в шаблоне. Можно указать, что файл должен быть подключен каждый раз, указав атрибут once. Установив once в ложь (false) указывает, что файл должен быть подключен вне зависимости от того, был ли он подключен раньше.

Можно указать опциональный атрибут assign, который указывает имя переменной, которой будет присвоен вывод {include_php}, вместо отображения.

Объект smarty доступен в подключаемом PHP-файле как $this.

Example 7.21. Функция {include_php}

load_nav.php


<?php

// загружает переменные из БД MySQL и присваивает их шаблону
require_once('MySQL.class.php');
$sql = new MySQL;
$sql->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}
    <a href="{$curr_section.url}">{$curr_section.name}</a><br />
{/foreach}

  

См. также {include}, {php}, {capture}, Ресурсы и Составные шаблоны

Comments
No comments for this page.

Advertisement