MenuLinkTree::transform

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:

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

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;
}
doc_Drupal
2016-10-29 09:27:18
Comments
Leave a Comment

Please login to continue.