Классы тела D8

У меня чертовски много времени пыталось получить классы для моего тела в D8. Я использую собственную тему, и код, который у меня есть, выглядит примерно так:

themename.theme

use Drupal\Component\Utility\Html;

/**
* Preprocess variables for html templates.
*/
function HOOK_preprocess_html(&$variables) {
$path_class = !$variables['root_path'] ? 'path-frontpage' : 'path-' . Html::getClass($variables['root_path']);
if (isset($path_class)) {
$variables['attributes']['class'][] = $path_class;
}
}

html.html.twig

    {%
set body_classes = [
not root_path ? 'path-frontpage' : 'path-' ~ root_path|clean_class,
]
%}
<body{{ attributes.addClass(body_classes) }}>

Я получаю классы для моего элемента body, но NID пуст, читая «page-node», где мне нужно прочитать «page-node-NID».

0

Решение

Вы должны заменить HOOK на название вашей темы mytheme_preprocess_html в противном случае Drupal не будет вызывать крюк.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]