page-content-type.tpl.php отдельный шаблон для контент типа

tpl.php друпал drupal

Наверно вы не раз создавали отдельные шаблоны для своих нод переопределяя их как node-content-type.tpl.php.

Иногда этим можно и ограничится, а иногда для отдельного контент типа необходимо задать определенный шаблон. К сожалению в 6ом Друпале так не получится сделать без написания дополнительного кода. Чтобы наши новые шаблоны для контент типов page-content-type.tpl.php заработали, нужно в файл template.php поместить следующий код:

function phptemplate_preprocess_page(&$vars) {
  if (isset($vars['node'])) {
    $vars['template_files'][] = 'page-'. str_replace('_', '-', $vars['node']->type); 
  } 
}

 Теперь можно создавать свой шаблон для контент типа, например page-news.tpl.php (где news машинное имя контент типа новостей).

Также в Друпале возможно переопределять шаблоны вывода термина таксономии добавив функцию в template.php:

После этого можно будет в папке с текущей темой переопределить шаблон node-taxonomy.tpl.php

function phptemplate_preprocess_node(&$vars) {
  if (arg(0) == 'taxonomy') {
    $suggestions = array(
      'node-taxonomy'
    );
    $vars['template_files'] = array_merge($vars['template_files'], $suggestions);
  }
}