You are here

function menu_item_extras_theme_suggestions_menu_alter in Menu Item Extras 8

Same name and namespace in other branches
  1. 8.2 menu_item_extras.module \menu_item_extras_theme_suggestions_menu_alter()

Implements hook_theme_suggestions_HOOK_alter().

File

./menu_item_extras.module, line 81
Adds body field to the menu item.

Code

function menu_item_extras_theme_suggestions_menu_alter(array &$suggestions, array $variables) {
  if (empty($variables['menu_name'])) {
    return $suggestions;
  }
  $suggestion_prefix = 'menu__extras';
  $allowed_menus = \Drupal::configFactory()
    ->get('menu_item_extras.settings')
    ->get('allowed_menus');
  $menu_name = $variables['menu_name'];
  $menu_name_sanitized = strtr($menu_name, '-', '_');
  if (!empty($allowed_menus) && in_array($menu_name, $allowed_menus)) {
    $suggestions = [];

    // Custom suggestions.
    $suggestions[] = $suggestion_prefix;
    $suggestions[] = $suggestion_prefix . '__' . $menu_name_sanitized;

    // Custom suggestions for the parent region.
    if (isset($variables['attributes']['data-region'])) {
      $suggestions[] = $suggestion_prefix . '__' . $menu_name_sanitized . '__' . $variables['attributes']['data-region'];
    }
  }
  return $suggestions;
}