Файлы шаблонов пользовательских тем Drupal не используются - PullRequest
1 голос
/ 10 марта 2011

Я пытаюсь организовать папку своей темы, которая имеет переопределения тем узла для десятков просмотров. По сути, у меня есть два разных стиля, и я хочу, чтобы все они выглядели одинаково, более или менее.

Есть ли способ в template.php, что я могу это сделать? И как лучше?

Я попробовал этот код в функции hook_preprocess_node моей темы:

switch($vars['view']->name) {
 case 'taxonomy_term' :
   switch($vars['view']->current_display) {
     case 'page' :
       array_push($vars['template_files'], 'list-view');
     default :
       break;
   }
   break;
 default :
   break;
}

И когда я смотрю в разработчику тем, я вижу там файл list-view.tpl.php, но на самом деле он не с использованием этого файла из моего каталога тем. Чего мне не хватает?

Ответы [ 2 ]

3 голосов
/ 11 марта 2011

Как вы можете видеть в theme () Drupal будет фактически использовать шаблон, только если он существует в соответствии с drupal_discover_template () .

Вы должны попытаться выяснить, так ли это.

  • Поместите некоторый отладочный код в функцию theme () в includes / theme.inc , чтобы увидеть, что drupal_discover_template() возвращает для вызовов различных шаблонов.

Может ли это найти? Если нет:

  • поместите некоторый отладочный код в drupal_discover_template(), чтобы узнать, где Drupal считает, что это больше не шаблон.

Мои интуитивные ощущения говорят, что это из-за подкаталогов, где находятся файлы шаблонов, но которые вы не добавили в переменную template_files: views / lists / some_list.tpl.php не такой же как some_list.tpl.php .

1 голос
/ 10 марта 2011

Вам необходимо перестроить кэш для файла tpl.php, который нужно взять.

...