function menu_item_extras_theme_suggestions_menu_alter in Menu Item Extras 8.2
Same name and namespace in other branches
- 8 menu_item_extras.module \menu_item_extras_theme_suggestions_menu_alter()
Implements hook_theme_suggestions_HOOK_alter().
File
- ./
menu_item_extras.module, line 213 - Manage fields for the menu items.
Code
function menu_item_extras_theme_suggestions_menu_alter(array &$suggestions, array $variables) {
if (isset($variables['menu_name'])) {
$menu_name = $variables['menu_name'];
/** @var \Drupal\menu_item_extras\Utility\Utility $utility */
$utility = \Drupal::service('menu_item_extras.utility');
$menu_name = $utility::sanitizeMachineName($menu_name);
if (Utility::checkBundleHasExtraFieldsThanEntity('menu_link_content', $variables['menu_name'])) {
// We have to add back the original suggestion that normally is generated
// from the #theme, because in pre-process we are replacing it with 'menu'.
$suggestions[] = $utility::suggestion('menu', $menu_name);
$suggestion_prefix = 'menu__extras';
// Custom suggestions.
$suggestions[] = $suggestion_prefix;
$suggestions[] = $utility::suggestion($suggestion_prefix, $menu_name);
// Custom suggestions for the parent region.
if (isset($variables['attributes']['data-region'])) {
$suggestions[] = $utility::suggestion($suggestion_prefix, $menu_name, $variables['attributes']['data-region']);
}
}
}
}