На данной страницы мы не будем вдаваться в детали того, как поиск шаблонов реализован программно - лишь укажем принцип, на основе которого ищутся шаблоны. Отметим, что поиск шаблонов в базовом WACT существенно отличается от поиска шаблонов, если используется WACT совместно с пакетом WEB_APP.
По-умолчанию, WACT ищет шаблоны в папке templates относительно корня запущенного приложения. Вы можете указать другую папку, поменяв опцию templates_dir в файле limb/wact/config/config.ini
При поиске файла WACT просто прибавляет значение опции templates_dir к имени файла и проверяет, если ли такой файл.
Например, <core:include file='/file.html'/> будет исказать файл по пути templates/file.html
WEB_APP содержит расширенную реализацию поиска шаблонов. Шаблоны ищутся в папке template относительно корня запущенного приложения, а также в папках templates всех пакетов.
Найденные пути кешируются, поэтому если шаблон однажды был найден в одном из пакетов, а вы его переместите в иное место, он будет браться из старого места. Кеш найденных путей лежит в файле /var/locators/template_locator.php.
Обратите внимание, что абсолютные и относительные имена файлов обрабатываются по-разному.
Например, <core:include file='/file.html'/> будет исказать файл по пути /file.html, а вот <core:include file='file.html'> уже в папках template приложения и пакетах.
Вы можете назначить другие пути, по которым следует искать шаблоны посредством переопределения константы LIMB_TEMPLATES_INCLUDE_PATH, например, так:
define('LIMB_TEMPLATES_INCLUDE_PATH', 'my_path/design;/my/other/path/design_repository;template;limb/*/template');
Пути разделяются точкой и запятой, звездочка означает - любые совпадения.
Обсуждение