Пишите письма → alex@covax.me

Шаблон для конкретного типа материала [ Drupal 8 ]

Создать собственный шаблон для конкретного типа материала в Drupal 8 довольно просто, для этого нужно воспользоваться хуком hook_theme_suggestions_page_alter()

Алгоритм действий следующий:

1. Добавляем в файл example.theme (где example — это название вашей темы) следующий код:

/**
 * Implements hook_theme_suggestions_page_alter().
 */
function example_theme_suggestions_page_alter(array &$suggestions, array $variables) {
  if ($node = \Drupal::routeMatch()->getParameter('node')) {
    $suggestions[] = 'page__' . $node->bundle();
  }
}

2. В этом коде, в функции example_theme_suggestions_page_alter меняем example на название своей темы.

3. Сохраняем, чистим кэш на сайте.

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

page--article.html.twig

будет работать для всех страниц типа article и т.д.