Главная/Статьи/Drupal 8: Добавить NID и тип материала в класс body
Drupal

Drupal 8: Добавить NID и тип материала в класс body

В Drupal 8 отсутствуют классы текущей ноды и типа материала в теге body — это была стандартная функция в Drupal 7. Отсутствие этих классов усложняет процесс кастомизации стилей.

Решение

Создайте файл имя_темы.theme в директории вашей темы и добавьте следующий код:

attributes->get('node')) {
    $variables['attributes']['class'][] = 'page-node-' . $node->id();
    $variables['attributes']['class'][] = 'page-' . $node->bundle();
  }
}

Данный код использует объект $node, из которого извлекаются необходимые значения. Через этот же объект вы можете получить другие атрибуты для добавления дополнительных классов в тег body по необходимости.

В результате теги body страниц нод будут содержать классы вида page-node-42 и page-article, что позволяет точечно стилизовать отдельные ноды или типы материалов через CSS.