protected function MenuLinkTree::createInstances in Drupal 10
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Menu/MenuLinkTree.php \Drupal\Core\Menu\MenuLinkTree::createInstances()
- 9 core/lib/Drupal/Core/Menu/MenuLinkTree.php \Drupal\Core\Menu\MenuLinkTree::createInstances()
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 117
Class
- MenuLinkTree
- Implements the loading, transforming and rendering of menu link trees.
Namespace
Drupal\Core\MenuCode
protected function createInstances(array $data_tree) {
$tree = [];
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;
}