You are here

function menu_item_extras_theme_suggestions_menu_link_content in Menu Item Extras 8.2

Implements hook_theme_suggestions_HOOK().

File

./menu_item_extras.module, line 161
Manage fields for the menu items.

Code

function menu_item_extras_theme_suggestions_menu_link_content(array $variables) {
  $suggestions = [];

  /** @var \Drupal\menu_item_extras\Utility\Utility $utility */
  $utility = \Drupal::service('menu_item_extras.utility');

  /* @var \Drupal\menu_link_content\Entity\MenuLinkContent $entity */
  $entity = $variables['elements']['#menu_link_content'];
  $prefix = 'menu_link_content';
  $view_mode = $utility::sanitizeMachineName($variables['elements']['#view_mode']);
  $menu_name = $utility::sanitizeMachineName($entity
    ->getMenuName());
  $entity_id = $entity
    ->id();
  $suggestions[] = $utility::suggestion($prefix, $view_mode);
  $suggestions[] = $utility::suggestion($prefix, $menu_name);
  $suggestions[] = $utility::suggestion($prefix, $menu_name, $view_mode);
  if (isset($variables['elements']['#menu_level'])) {
    $level = 'menu_level_' . $variables['elements']['#menu_level'];
    $suggestions[] = $utility::suggestion($prefix, $level);
    $suggestions[] = $utility::suggestion($prefix, $menu_name, $level);
    $suggestions[] = $utility::suggestion($prefix, $menu_name, $level, $view_mode);
  }
  $suggestions[] = $utility::suggestion($prefix, $menu_name, $entity_id);
  $suggestions[] = $utility::suggestion($prefix, $menu_name, $entity_id, $view_mode);
  return $suggestions;
}