Требуется при выполнении определенного условия подменить файл шаблона на требуемый, но сделать это в теле функции. Есть ли какая функция в апи для этого?
p.s. Поиском найти не удалось, но может не то искал
Нет, к сожалению данный вариант не подходит. Проблема в том что условие изменения шаблона определяется в функции тема_uc_catalog_browse в которой нет доступа к переменной vars.
К тому же другой шаблон нужно загружать только для вложенных категорий. Т.е. верхний уровень - шаблон page-catalog.tpl.php, остальные page-catalog-vn.tpl.php
переменную vars надо менять в созданном препроцессе
Я это понимаю, как быть в моем случае?
<?php function template_preprocess_page($tid) {
if (
условие) { заменить страницу шаблона }
return; }
?>
Если можно чуть подробнее объясните, а то чего-то не могу понять. Если "заменить страницу шаблона" нужно заменить препроцесс функцией, то как ее назвать правильно. Все действия осуществляются в template.php
Комментарии
http://drupal.org/node/190815#comment-1113949
Нет, к сожалению данный вариант не подходит. Проблема в том что условие изменения шаблона определяется в функции тема_uc_catalog_browse в которой нет доступа к переменной vars.
К тому же другой шаблон нужно загружать только для вложенных категорий. Т.е. верхний уровень - шаблон page-catalog.tpl.php, остальные page-catalog-vn.tpl.php
переменную vars надо менять в созданном препроцессе
Я это понимаю, как быть в моем случае?
<?php
function template_preprocess_page($tid) {
if (
условие) {заменить страницу шаблона
}
return;
?>}
Если можно чуть подробнее объясните, а то чего-то не могу понять. Если "заменить страницу шаблона" нужно заменить препроцесс функцией, то как ее назвать правильно. Все действия осуществляются в template.php
function phptemplate_preprocess_page(&$vars) {
if (условие) {
$vars['template_files'][] = ...;
}
return;
}
Все, разобрался. Спасибо за помощь