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

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


limb3:ru:packages:macro:template_file_name_resolving

Как MACRO ищет шаблоны

На данной странице мы не будем вдаваться в детали того, как поиск шаблонов реализован программно - лишь укажем принцип, на основе которого ищутся шаблоны. Отметим, что поиск шаблонов в базовом MACRO существенно отличается от поиска шаблонов, если используется MACRO совместно с пакетом VIEW.

Отдельно MACRO пакет

По-умолчанию, MACRO ищет шаблоны в папке templates относительно корня запущенного приложения, а также относительно путей, указаных в include_path. Мы можете указать другие папки при помощи 4-го аргумента конструктора класса lmbMacroConfig:

class lmbMacroConfig
{ 
  function __construct($cache_dir = null, $is_force_compile = true, $is_force_scan = true,
                       $tpl_scan_dirs = null, $tags_scan_dirs = null, $filters_scan_dirs = null) 
  {
    [..]
  }
}

MACRO совместно со VIEW

VIEW содержит расширенную реализацию поиска шаблонов. Шаблоны ищутся в папке templates по include_path, а также в папках template всех пакетов Limb3.

Найденные пути кешируются, поэтому если шаблон однажды был найден в одном из пакетов, а вы его переместите в иное место, он будет браться из старого места. Кеш найденных путей лежит в файле /var/locators/macro_locator.php.

Обратите внимание, что абсолютные и относительные имена файлов обрабатываются по-разному.

Например, {{insert file='/file.html' /}} будет искать файл по пути /file.html, а вот {{insert file='file.html' /}} уже в папках template приложения и пакетах.

Вы можете назначить другие пути, по которым следует искать шаблоны посредством переопределения константы LIMB_TEMPLATES_INCLUDE_PATH, например, так:

define('LIMB_TEMPLATES_INCLUDE_PATH', 'my_path/design;/my/other/path/design_repository;template;limb/*/template');

Пути разделяются точкой и запятой, звездочка означает - любые совпадения.

Обсуждение

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