You are here

function block_classes_preprocess_block in Block Classes 1.0.x

Implements hook_preprocess_HOOK().

File

./block_classes.module, line 92
Adding classes to blocks.

Code

function block_classes_preprocess_block(&$variables) {

  // Blocks coming from page manager widget does not have id.
  if (!empty($variables['elements']['#id'])) {
    $block = Block::load($variables['elements']['#id']);
    if ($block && ($classes = $block
      ->getThirdPartySetting('block_classes', 'title_class'))) {
      $classes_array = explode(' ', $classes);
      foreach ($classes_array as $class) {
        $variables['title_attributes']['class'][] = Html::cleanCssIdentifier($class, []);
      }
    }
    if ($block && ($classes = $block
      ->getThirdPartySetting('block_classes', 'content_class'))) {
      $classes_array = explode(' ', $classes);
      foreach ($classes_array as $class) {
        $variables['content_attributes']['class'][] = Html::cleanCssIdentifier($class, []);
      }
    }
    if ($block && ($classes = $block
      ->getThirdPartySetting('block_classes', 'block_class'))) {
      $classes_array = explode(' ', $classes);
      foreach ($classes_array as $class) {
        $variables['attributes']['class'][] = Html::cleanCssIdentifier($class, []);
      }
    }
  }
}