function MenuLinkTree::transform

Same name and namespace in other branches
  1. 11.x core/lib/Drupal/Core/Menu/MenuLinkTree.php \Drupal\Core\Menu\MenuLinkTree::transform()
  2. 10 core/lib/Drupal/Core/Menu/MenuLinkTree.php \Drupal\Core\Menu\MenuLinkTree::transform()
  3. 9 core/lib/Drupal/Core/Menu/MenuLinkTree.php \Drupal\Core\Menu\MenuLinkTree::transform()
  4. 8.9.x core/lib/Drupal/Core/Menu/MenuLinkTree.php \Drupal\Core\Menu\MenuLinkTree::transform()
1 method overrides MenuLinkTree::transform()
NavigationMenuLinkTree::transform in core/modules/navigation/src/Menu/NavigationMenuLinkTree.php
Applies menu link tree manipulators to transform the given tree.

File

core/lib/Drupal/Core/Menu/MenuLinkTree.php, line 104

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 = $this->callableResolver
      ->getCallableFromDefinition($manipulator['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;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.