====== Как 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'); Пути разделяются точкой и запятой, звездочка означает - любые совпадения.