protected function MenuLinkTree::createInstances

protected MenuLinkTree::createInstances(array $data_tree)

Returns a tree containing of MenuLinkTreeElement based upon tree data.

This method converts the tree representation as array coming from the tree storage to a tree containing a list of MenuLinkTreeElement[].

Parameters

array $data_tree: The tree data coming from the menu tree storage.

Return value

\Drupal\Core\Menu\MenuLinkTreeElement[] An array containing the elements of a menu tree.

File

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

Class

MenuLinkTree
Implements the loading, transforming and rendering of menu link trees.

Namespace

Drupal\Core\Menu

Code

protected function createInstances(array $data_tree) {
  $tree = array();
  foreach ($data_tree as $key => $element) {
    $subtree = $this->createInstances($element['subtree']);
    // Build a MenuLinkTreeElement out of the menu tree link definition:
    // transform the tree link definition into a link definition and store
    // tree metadata.
    $tree[$key] = new MenuLinkTreeElement(
    $this->menuLinkManager->createInstance($element['definition']['id']), 
    (bool) $element['has_children'], 
    (int) $element['depth'], 
    (bool) $element['in_active_trail'], 
    $subtree
    );
  }
  return $tree;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Menu!MenuLinkTree.php/function/MenuLinkTree::createInstances/8.1.x