public MenuLinkTree::transform(array $tree, array $manipulators)
Applies menu link tree manipulators to transform the given tree.
Parameters
\Drupal\Core\Menu\MenuLinkTreeElement[] $tree: The menu tree to manipulate.
array $manipulators: The menu link tree manipulators to apply. Each is an array with keys:
- callable: a callable or a string that can be resolved to a callable by \Drupal\Core\Controller\ControllerResolverInterface::getControllerFromDefinition()
- args: optional array of arguments to pass to the callable after $tree.
Return value
\Drupal\Core\Menu\MenuLinkTreeElement[] The manipulated menu link tree.
Overrides MenuLinkTreeInterface::transform
File
- core/lib/Drupal/Core/Menu/MenuLinkTree.php, line 130
Class
- MenuLinkTree
- Implements the loading, transforming and rendering of menu link trees.
Namespace
Drupal\Core\Menu
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public function transform( array $tree , array $manipulators ) { foreach ( $manipulators as $manipulator ) { $callable = $manipulator [ 'callable' ]; $callable = $this ->controllerResolver->getControllerFromDefinition( $callable ); // Prepare the arguments for the menu tree manipulator callable; the first // argument is always the menu link tree. if (isset( $manipulator [ 'args' ])) { array_unshift ( $manipulator [ 'args' ], $tree ); $tree = call_user_func_array( $callable , $manipulator [ 'args' ]); } else { $tree = call_user_func( $callable , $tree ); } } return $tree ; } |
Please login to continue.