Шаблоны с одинаковыми названиями и Smarty
Вопрос
У меня небольшая проблема со Smarty...У меня есть два разных файла шаблонов в двух разных каталогах, которые случайно имеют одно и то же имя.К сожалению, Smarty сбивает их с толку.Он использует последний из обновляемых файлов для создания скомпилированного файла в своей папке /templates_c, который затем используется для отображения страницы.
Это означает, что оба файла в конечном итоге выглядят так же, как последний обновляемый, даже если они совершенно разные.
Я могу решить это, переименовав один из файлов или, предположительно, вызвав clear_compiled_tpl
.Однако мне было интересно, есть ли способ получше.Нет ли способа настроить Smarty так, чтобы при создании его скомпилированных файлов обращалось внимание на папку, в которой находится файл шаблона?
Редактировать:Я использую Smarty версии v2.6.19
Решение
Попробуйте это перед выводом ваших шаблонов, на самом деле это оптимизация для каталогов с тысячами файлов шаблонов, но может решить вашу проблему:
$smarty->use_sub_dirs = true;
Другие советы
Если файлы находятся в одном и том же template_dir, но в разных папках, Smarty должен отлично создавать разные скомпилированные файлы.Если вы используете более одного template_dir и только один compile_dir, обязательно задайте уникальный $smarty->compile_id для каждой папки шаблона.