Инструменты пользователя

Инструменты сайта


limb3:ru:packages:macro:tags:core_tags:include_tag

Тег {{include}}

Описание

Вставляет содержимое файла, указанного атрибутом file в текущий шаблон. Если вставляемый файл содержит другие теги, то они будут считаться тегами текущего шаблона. Используется для сборки одного шаблона из небольших кусочков. Содержимое подключаемого шаблона должны быть сбалансированным (то есть каждому открывающему тегу должен соотвествовать закрывающий). см. подробнее о композиции MACRO-шаблонов.

Остальные атрибуты передаются в качестве параметров во включаемый шаблон.

На уровне откомпилированного шаблона {{include}} генерит отдельный метод с кодом включаемого шаблона, а на своем месте - вызов этого метода. Параметры тега - это параметры вызываемого метода. Таким образом {{include}} фактически формирует отдельный контекст - отдельный метод.

Атрибут file может указывать на переменную. В этом случае мы имеем дело с динамическим включением. Включаемый файл будет откомпилирован (если не был откомпилирован) и отрендерен только на этапе выполнения шаблона исходя из значение переменной, указанной в атрибуте file. В этом случае {{include}} отработает в точности как в Smarty.

Обратите внимание на то, что если вы пользуетесь пакетом VIEW, тогда нужно использовать относительные пути до файлов, то есть include/header.html вместо /include/header.html

Синтаксис

 {{include file='path/to/file' [var1='var1_value'][var_n='var_n_value'] /}}

Область использования

В любом месте MACRO шаблона.

Атрибуты

  • file - указывает путь до файла, который нужно включить в текущий шаблон
  • любое количество атрибутов, которые будут переданы в качестве параметров во включаемый шаблон. Эти атрибуты будут видны как локальные переменные внутри содержимого включаемого шаблона.

Содержимое

Нет.

Пример использования

<html>
  {{include file='includes/top.phtml' user="$#toolkit.member"/}}
<body>
  [...]
  {{include file='{$inc}'/}}
  [...]
  {{include file='includes/bottom.phtml'/}}
</body>
</html>

Шаблон includes/top.phtml:

[...]
<?if (isset($user)) { ?>
Привет, {$user.name}
<? } ?>
[...]

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
   ____   ___   _      __   ____   _  __
  /  _/  / _ ) | | /| / /  /  _/  / |/ /
 _/ /   / _  | | |/ |/ /  _/ /   /    / 
/___/  /____/  |__/|__/  /___/  /_/|_/
 
limb3/ru/packages/macro/tags/core_tags/include_tag.txt · Последние изменения: 2010/11/10 10:02 (внешнее изменение)