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
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.