@Vlad171

Как переопределить шаблон страницы для конкретного типа материала в Drupal 8?

В Drupal 7 это делалось в template.tpl.php:
function yourthemename_preprocess_page(&$vars) { 
   if (isset($vars['node']->type)) { 
      $vars['theme_hook_suggestions'][] = 'page__' . $vars['node']->type; }
 }

Далее можно было определить шаблон
page--<node_type>.tpl.php
Не пойму как это провернуть в Drupal 8. Может кто помочь?
  • Вопрос задан
  • 1138 просмотров
Решения вопроса 1
@Vlad171 Автор вопроса
Отвечаю на свои же ранее заданные вопросы.
В хуке theme_get_suggestions пишем следующее:
if ($node = \Drupal::routeMatch()->getParameter('node')) { 
  	$suggestions[] = $prefix . $delimiter . $node->getType(); 
  }

Все это безобразие должно быть прописано в отдельно созданном модуле, либо (что нельзя совсем делать) быть добавлено в core/includes/theme.inc в функцию theme_get_suggestions.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы