Главная/Статьи/Drupal 7: Как переопределить шаблон для конкретного типа материалов
Drupal

Drupal 7: Как переопределить шаблон для конкретного типа материалов

По умолчанию Drupal предоставляет ограниченные возможности для переопределения шаблона главной страницы отдельно для каждого типа материала. Система работает только для нод, что не всегда решает поставленные задачи.

Решение

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

function ИмяТемы_preprocess_page(&$vars, $hook) {
  if (isset($vars['node'])) {
    $vars['theme_hook_suggestions'][] = 'page__' . str_replace('_', '--', $vars['node']->type);
  }
}

Применение шаблона

После добавления этого кода система будет распознавать файлы шаблонов, названные по схеме: page--[тип].tpl.php

Например, для типа материала blog создайте файл page--blog.tpl.php в папке вашей темы.

Таким образом, каждый тип материала получит свой уникальный шаблон отображения, что позволяет гибко управлять структурой страниц для разных типов контента.