Задача:
Если есть путь и файл
{FILE "{PHP.cfg.themes_dir}/admin/{PHP.cfg.admintheme}/warnings.tpl"}
то его и подключаем
а если нет - тогда
{FILE "{PHP.cfg.system_dir}/admin/tpl/warnings.tpl"}
Шаг 1
В файле, который гарантированно загружается до компиляции шаблонов добавить функцию
function cot_choose_warnings_tpl() {
$theme_path = Cot::$cfg['themes_dir'] . '/admin/' . Cot::$cfg['admintheme'] . '/warnings.tpl';
$system_path = Cot::$cfg['system_dir'] . '/admin/tpl/warnings.tpl';
return file_exists($theme_path) ? $theme_path : $system_path;
}
Шаг 2. В шаблоне, где нужно подключить файл, пишем:
{FILE "{PHP|cot_choose_warnings_tpl()}"}
Пояснения:
{PHP|...} вызывает функцию cot_choose_warnings_tpl без аргументов (скобки обязательны).
Функция возвращает полный путь к существующему файлу.
На этапе компиляции этот путь подставится в директиву FILE, и нужный файл будет включён.