2016-09-07 7 views
0

私は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-NID'が必要です。

答えて

0

テーマの名前をHOOKに変更する必要があります。mytheme_preprocess_html Drupalはフックを呼び出しません。

関連する問題