Отображение страниц после переключения шаблонов smarty

Boroman

Новичок
Отображение страниц после переключения шаблонов smarty

Есть несколько шаблонов smarty. Имена файлов в них пересекаются (например, menu.tpl, front_page.tpl и т.д. есть во всех шаблонах).
Проблема в том, что при переключении между шаблонами отображается вариант шаблона который был скомпилирован первым. Т.е. меню в разных шаблонах должно выглядеть поразному, но так как имя тоже, то smarty берет уже подготовленный вариант. Подскажите как от сей напасти избавиться? Может я что-то неправильно делаю? Шаблоны лежат в отдельных папках (templ_1, templ_2 и т.д.) при переключении я указываю smarty где нужный шаблон искать. Папка для скомпилированых шаблонов не меняется.
 

zerkms

TDD infected
Команда форума
В $smarty->display() / $smarty->fetch() можно указывать путь от директории с шаблонами. Не нужно его постоянно менять.

Пример: $smarty->display('dir1/dir2/dir3/menu.tpl');

В этом случае скомпилированные шаблоны будут иметь разные имена.
 

Boroman

Новичок
У меня через display указывается только главный файл, а дальше все уже в нем через {include file="menu.tpl"}. В данном случае Ваш вариант тоже будет работать? Просто сейчас нет возможности проверить?
 

zerkms

TDD infected
Команда форума
Boroman
Эээээээ.....

Как тогда они могут браться из других директорий, если ты указываешь {include file="menu.tpl"}????

Этот код подключит файл menu.tpl, лежащий в текущей директории с шаблонами.
 

Boroman

Новичок
ну да, директория с шаблонами указывается
$smarty->template_dir = TEMPLATE_DIR;
TEMPLATE_DIR - определяется в зависимости от того какой шаблон нужно указать. например 'templates/templ_1' или 'templates/templ_2'
 

zerkms

TDD infected
Команда форума
ну тогда и директорию до скомпилированных шаблонов меняй.
 

Boroman

Новичок
Похоже, что придется именно так и поступить. Просто я думал, что можно обойтись без этого, без создания директорий компилирования для каждого шаблона, хотя проблема невелика ).
Ладно, спасибо за потраченное время.
 

zerkms

TDD infected
Команда форума
Можно похакать смарти и изменить метод, в которым генерится имя скомпилированного шаблона.
 
Сверху