public static function ToolbarController::preRenderAdministrationTray in Drupal 10
Same name and namespace in other branches
- 8 core/modules/toolbar/src/Controller/ToolbarController.php \Drupal\toolbar\Controller\ToolbarController::preRenderAdministrationTray()
- 9 core/modules/toolbar/src/Controller/ToolbarController.php \Drupal\toolbar\Controller\ToolbarController::preRenderAdministrationTray()
Renders the toolbar's administration tray.
Parameters
array $element: A renderable array.
Return value
array The updated renderable array.
See also
\Drupal\Core\Render\RendererInterface::render()
File
- core/
modules/ toolbar/ src/ Controller/ ToolbarController.php, line 69
Class
- ToolbarController
- Defines a controller for the toolbar module.
Namespace
Drupal\toolbar\ControllerCode
public static function preRenderAdministrationTray(array $element) {
$menu_tree = \Drupal::service('toolbar.menu_tree');
// Load the administrative menu. The first level is the "Administration"
// link. In order to load the children of that link, start and end on the
// second level.
$parameters = new MenuTreeParameters();
$parameters
->setMinDepth(2)
->setMaxDepth(2)
->onlyEnabledLinks();
// @todo Make the menu configurable in https://www.drupal.org/node/1869638.
$tree = $menu_tree
->load('admin', $parameters);
$manipulators = [
[
'callable' => 'menu.default_tree_manipulators:checkAccess',
],
[
'callable' => 'menu.default_tree_manipulators:generateIndexAndSort',
],
[
'callable' => 'toolbar_menu_navigation_links',
],
];
$tree = $menu_tree
->transform($tree, $manipulators);
$element['administration_menu'] = $menu_tree
->build($tree);
return $element;
}