Drupal 8 блок и тип класса - PullRequest
0 голосов
/ 09 июля 2019

Я хотел бы добавить для блокировки его пользовательский тип класса в файле макета ветки: block.html.twig Но я понятия не имею, как получить тип. Класс нужен только для стиля, потому что у меня много блоков на нескольких языках. Я не хочу стилизовать элементы по их собственным идентификаторам.

1 Ответ

0 голосов
/ 09 июля 2019

На самом деле я нашел одно рабочее решение, в котором используется хук тем:

/**
 * Implements hook_preprocess_HOOK() for block.html.twig.
 */
function MYTHEME_preprocess_block(&$variables) {

  // adding custom attribute class for block
  if ($variables['elements']['#base_plugin_id'] == 'block_content') {
    $blockType = strtr($variables['content']['#block_content']->bundle(), '_', '-');
    $variables['attributes']['class'][] = 'block--type-' . $blockType;
  }
}

Этот класс добавляет класс только для пользовательских типов блоков. Но работает для моих нужд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...