Удаление классов в блоке предварительной обработки крюка


В Drupal 8 я изо всех сил пытаюсь удалить классы из данного блока. Вот краткий фрагмент из функции предварительной обработки:

function mytheme_preprocess_block(&$vars) {
  $block_classes = array(
    'block_id' => array('custom-class'),
  );
  $id = $vars['elements']['#id'];
  if (isset($block_classes[$id])) {
    $vars['attributes']['class'] = $block_classes[$id];
  }
  return $vars;
}

Интересно, что это работает и добавляет custom-class в блок, но, несмотря на то, что он переопределяет существующий массив классов, все классы Drupal по умолчанию все еще добавляются (возможно, позже?). Я знаю, что могу удалить классы в twig с помощью {{ attributes.removeClass('class-to-remove') }}, но в идеале я хотел бы иметь функцию предварительной обработки, которая не требует дополнительного раскрытия файлы шаблонов.

 2
Author: jpschroeder, 2016-07-14

1 answers

Ты не можешь этого сделать. Вы можете увидеть узел и шаблон файла . Если только в вашей теме вы не установили

base theme: stable 

Или когда вы не определяете базовую тему.

 2
Author: MrD, 2016-07-14 05:05:30