public DefaultMenuLinkTreeManipulators::generateIndexAndSort(array $tree)
Generates a unique index and sorts by it.
Parameters
\Drupal\Core\Menu\MenuLinkTreeElement[] $tree: The menu link tree to manipulate.
Return value
\Drupal\Core\Menu\MenuLinkTreeElement[] The manipulated menu link tree.
File
- core/lib/Drupal/Core/Menu/DefaultMenuLinkTreeManipulators.php, line 226
Class
- DefaultMenuLinkTreeManipulators
- Provides a couple of menu link tree manipulators.
Namespace
Drupal\Core\Menu
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public function generateIndexAndSort( array $tree ) { $new_tree = array (); foreach ( $tree as $key => $v ) { if ( $tree [ $key ]->subtree) { $tree [ $key ]->subtree = $this ->generateIndexAndSort( $tree [ $key ]->subtree); } $instance = $tree [ $key ]->link; // The weights are made a uniform 5 digits by adding 50000 as an offset. // After $this->menuLinkCheckAccess(), $instance->getTitle() has the // localized or translated title. Adding the plugin id to the end of the // index insures that it is unique. $new_tree [(50000 + $instance ->getWeight()) . ' ' . $instance ->getTitle() . ' ' . $instance ->getPluginId()] = $tree [ $key ]; } ksort( $new_tree ); return $new_tree ; } |
Please login to continue.