Как добавить атрибуты в тег <body> определенного типа материала

Главные вкладки

Лучший ответ

Аватар пользователя kosskren kosskren 31 июля 2023 в 21:41
1

Используйте хук: hook_preprocess_html()

<?php
/**
 * Implements hook_preprocess_html().
 */
function ВАШАТЕМА_preprocess_html(&$variables) {

  

// Добавит класс main-page, при этом остальные классы будут удалены
  
$variables['attributes'] = ['class' => 'main-page'];

  

// Добавит класс main-page
  
$variables['attributes']['class'] = 'main-page';
  
  
// Так можно передать переменную в шаблон страницы 
  // Имя шаблона html.html.twig
  
$variables['my_test_var'] = 'Привет';
}
?>

А так в шаблоне можно использовать

<html{{ html_attributes }} {{ schema_org }}>
  <head>
     
  </head>
  <body{{ attributes }} {{ schema_org2|raw }} data-my-attr="{{ my_test_var }}">

  </body>
</html>

Комментарии

Аватар пользователя VasyOK VasyOK 31 июля 2023 в 16:33
1

Посмотрел у себя. Вроде из коробки
html.html.twig копирцуется
в
html--node--[ваш тип].html.twig
и там уже все атрибуты прописывать можно.

Аватар пользователя kosskren kosskren 31 июля 2023 в 21:41
1

Используйте хук: hook_preprocess_html()

<?php
/**
 * Implements hook_preprocess_html().
 */
function ВАШАТЕМА_preprocess_html(&$variables) {

  

// Добавит класс main-page, при этом остальные классы будут удалены
  
$variables['attributes'] = ['class' => 'main-page'];

  

// Добавит класс main-page
  
$variables['attributes']['class'] = 'main-page';
  
  
// Так можно передать переменную в шаблон страницы 
  // Имя шаблона html.html.twig
  
$variables['my_test_var'] = 'Привет';
}
?>

А так в шаблоне можно использовать

<html{{ html_attributes }} {{ schema_org }}>
  <head>
     
  </head>
  <body{{ attributes }} {{ schema_org2|raw }} data-my-attr="{{ my_test_var }}">

  </body>
</html>