function block_theme_suggestions_block
block_theme_suggestions_block(array $variables)
Implements hook_theme_suggestions_HOOK().
File
- core/modules/block/block.module, line 167
- Controls the visual building blocks a page is constructed with.
Code
function block_theme_suggestions_block(array $variables) { $suggestions = array(); $suggestions[] = 'block__' . $variables['elements']['#configuration']['provider']; // Hyphens (-) and underscores (_) play a special role in theme suggestions. // Theme suggestions should only contain underscores, because within // drupal_find_theme_templates(), underscores are converted to hyphens to // match template file names, and then converted back to underscores to match // pre-processing and other function names. So if your theme suggestion // contains a hyphen, it will end up as an underscore after this conversion, // and your function names won't be recognized. So, we need to convert // hyphens to underscores in block deltas for the theme suggestions. // We can safely explode on : because we know the Block plugin type manager // enforces that delimiter for all derivatives. $parts = explode(':', $variables['elements']['#plugin_id']); $suggestion = 'block'; while ($part = array_shift($parts)) { $suggestions[] = $suggestion .= '__' . strtr($part, '-', '_'); } if (!empty($variables['elements']['#id'])) { $suggestions[] = 'block__' . $variables['elements']['#id']; } return $suggestions; }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!modules!block!block.module/function/block_theme_suggestions_block/8.1.x