2016-09-07 2 views
0

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

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) }}> 

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

ответ

0

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