public ToolbarMenuLinkTree::build(array $tree, $level = 0)
Builds a renderable array from a menu tree.
The menu item's LI element is given one of the following classes:
- expanded: The menu item is showing its submenu.
- collapsed: The menu item has a submenu that is not shown.
- leaf: The menu item has no submenu.
Parameters
\Drupal\Core\Menu\MenuLinkTreeElement[] $tree: A data structure representing the tree, as returned from MenuLinkTreeInterface::load().
Return value
array A renderable array.
Overrides MenuLinkTree::build
File
- core/modules/toolbar/src/Menu/ToolbarMenuLinkTree.php, line 15
Class
- ToolbarMenuLinkTree
- Extends MenuLinkTree to add specific theme suggestions for the toolbar.
Namespace
Drupal\toolbar\Menu
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | public function build( array $tree , $level = 0) { if ( $level == 0) { if (! $tree ) { return array (); } $build = parent::build( $tree , $level ); /** @var \Drupal\Core\Menu\MenuLinkInterface $link */ $first_link = reset( $tree )->link; // Get the menu name of the first link. $menu_name = $first_link ->getMenuName(); // Add a more specific theme suggestion to differentiate this rendered // menu from others. $build [ '#menu_name' ] = $menu_name ; $build [ '#theme' ] = 'menu__toolbar__' . strtr ( $menu_name , '-' , '_' ); return $build ; } else { return parent::build( $tree , $level ); } } |
Please login to continue.