public static function ToolbarMenuPrerender::prerenderToolbarTray in Toolbar Menu 8.2
Pre-render the toolbar_menu tray element.
Parameters
array $element: The tray element to pre-render.
Return value
array The pre-rendered tray element.
1 call to ToolbarMenuPrerender::prerenderToolbarTray()
- toolbar_menu_prerender_toolbar_tray in ./
toolbar_menu.module - Pre-render the toolbar_menu tray element.
File
- src/
ToolbarMenuPrerender.php, line 31
Class
- ToolbarMenuPrerender
- Defines a service for toolbar menu prerender elements.
Namespace
Drupal\toolbar_menuCode
public static function prerenderToolbarTray(array $element) {
/** @var \Drupal\toolbar\Menu\ToolbarMenuLinkTree $menu_tree */
$menu_tree = \Drupal::service('toolbar.menu_tree');
$parameters = new MenuTreeParameters();
$parameters
->excludeRoot()
->onlyEnabledLinks();
$tree = $menu_tree
->load($element['#id'], $parameters);
$manipulators = [
[
'callable' => 'menu.default_tree_manipulators:checkAccess',
],
[
'callable' => 'menu.default_tree_manipulators:generateIndexAndSort',
],
[
'callable' => 'toolbar_menu.menu_link_tree_manipulators:addIcons',
],
];
$tree = $menu_tree
->transform($tree, $manipulators);
$element['toolbar_menu_' . $element['#id']] = $menu_tree
->build($tree);
return $element;
}