Некоторые готовые темы для Drupal 8 не всегда предусматривают определенные настройки или удобства для дальнейшей работы с темой. Но это всегда можно исправить или точнее дополнить функционал, если вы, как и я, часто разрабатываете темы с нуля.
Рассмотрим добавление небольшого удобства для стилизации с помощью CSS выбранной страницы. А именно добавим класс нашему элементу body. Этот класс будем брать из системного идентификатора ноды.
Данный код помещаем в файл MYTHEME.theme вашей темы. ВНИМАНИЕ! Не забываем сменить MYTHEME на имя вашей темы, иначе код не будет работать!
function MYTHEME_preprocess_html(&$variables) {
// Add node-TYPE class to the element.
if (isset($variables['node_type'])) {
$node = \Drupal::routeMatch()->getParameter('node');
$variables['attributes']['class'][] = 'page-node-' . $node->getType();
$variables['attributes']['class'][] = 'page-node-' . $node->id();
}
}
После добавления кода ОБЯЗАТЕЛЬНО почистить КЕШ!
После этого, если вы посмотрите код, к элементу body добавится класс:
<body class="page-node-X">
На этом всё. Успехов вам в темизации!