You are here

public function MenuLinkTree::getCurrentRouteMenuTreeParameters in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Menu/MenuLinkTree.php \Drupal\Core\Menu\MenuLinkTree::getCurrentRouteMenuTreeParameters()

Gets the link tree parameters for rendering a specific menu.

Builds menu link tree parameters that:

  • Expand all links in the active trail based on route being viewed.
  • Expand the descendants of the links in the active trail whose 'expanded' flag is enabled.

This only sets the (relatively complex) parameters to achieve the two above goals, but you can still further customize these parameters.

Parameters

string $menu_name: The menu name, needed for retrieving the active trail and links with the 'expanded' flag enabled.

Return value

\Drupal\Core\Menu\MenuTreeParameters The parameters to determine which menu links to be loaded into a tree.

Overrides MenuLinkTreeInterface::getCurrentRouteMenuTreeParameters

See also

\Drupal\Core\Menu\MenuTreeParameters

File

core/lib/Drupal/Core/Menu/MenuLinkTree.php, line 78

Class

MenuLinkTree
Implements the loading, transforming and rendering of menu link trees.

Namespace

Drupal\Core\Menu

Code

public function getCurrentRouteMenuTreeParameters($menu_name) {
  $active_trail = $this->menuActiveTrail
    ->getActiveTrailIds($menu_name);
  $parameters = new MenuTreeParameters();
  $parameters
    ->setActiveTrail($active_trail)
    ->addExpandedParents($active_trail)
    ->addExpandedParents($this->treeStorage
    ->getExpanded($menu_name, $active_trail));
  return $parameters;
}