Вы здесь

Как указать разным типам нод использовать один шаблон вывода?

0

Всем привет!

Озадачился таким вопросом. Есть разные типы нод. Шаблон ноды переопределен по типу node--node_type.tpl.php. Собственно вопрос, если дизайн вывода у некоторых типов нод похож, как не плодить файлы шаблонов node--node_type.tpl.php, node--node_type2.tpl.php, node--node_type2.tpl.php а указать, что такой тип ноды использует такой шаблон.

Например, есть ноды новости и блог, у новостей переопределен вывод node--node_news.tpl.php. А нода блог по вывода и дизайну похожа на новости, и чтобы не плодить файлы с одинаковым содержимым и разным именованием (node--node_blog.tpl.php), думаю, логичнее было бы указать где нить в теплейте, чтобы нода блога использовала шаблон новостей. Подскажите, можно ли такое реализовать?

Версия Drupal: 
7.x
Вопрос задан 13.01.2019 - 13:05
Аватар пользователя im
im
32

Ответы

1
/**
 * Preprocess function for node.tpl.php.
 */
function THEMENAME_preprocess_node(&$vars) {
  if (in_array($vars['type'], array('news', 'blog'))) {
    $node_type_suggestion_key = array_search('node__' . $vars['type'], $vars['theme_hook_suggestions']);
    if ($node_type_suggestion_key !== FALSE) {
      $node_view_mode_suggestion = 'node__news_and_blog';
      array_splice($vars['theme_hook_suggestions'], $node_type_suggestion_key + 1, 0, array($node_view_mode_suggestion));
    }
  }
}
Ответ дан 13.01.2019 - 14:01
Аватар пользователя xandeadx
xandeadx
1541