megclaypool
11/8/2019 - 3:19 PM

Add region-specific Drupal 8 template suggestions for blocks

[Add region-specific Drupal 8 template suggestions for blocks]

https://gist.github.com/mogtofu33/fdb587329a13eedc854ef264abdd56a9

// this is needed for region-based block template suggestions
use Drupal\block\Entity\Block;


function radicati_d8_theme_suggestions_block_alter(array &$suggestions, array $variables) {
  if (!empty($variables['elements']['#id'])) {
    if ($block = Block::load($variables["elements"]["#id"])) {
      $region = $block->getRegion();
      $suggestions[] = 'block__' . $region;
      $suggestions[] = 'block__' . $region . '__' . $variables['elements']['#base_plugin_id'];
      $suggestions[] = 'block__' . $region . '__' . $variables['elements']['#id'];
      $suggestions[] = 'block__' . $region . '__' . $variables['elements']['#base_plugin_id'] . '__' . $variables['elements']['#id'];
    }
  }
}