Wie subtree eines Menüs auslesen?
Eingetragen von rhodes (631)
am 05.08.2020 - 13:08 Uhr in
am 05.08.2020 - 13:08 Uhr in
Hallo zusammen,
in einer Drupal 8-Installation lese ich in einem eigenen Module ein custom Menu zur Weiterverarbeitung aus...
<?php
...
$menu_name = 'custom-menu';
$menu_tree = \Drupal::menuTree();
$parameters = $menu_tree->getCurrentRouteMenuTreeParameters($menu_name);
$tree = $menu_tree->load($menu_name, $parameters);
$manipulators = [
['callable' => 'menu.default_tree_manipulators:checkAccess']
];
$tree = $menu_tree->transform($tree, $manipulators);
foreach ($tree as $item) {
$title = $item->link->getTitle();
$url = $item->link->getUrlObject();
$url_string = $url->toString();
if($item->hasChildren){
$subTreeArray = $item->subtree;
...
}
}
?>
Grundsätzlich funktioniert das Auslesen das Menüs, aber nicht das Auslesen der UntermenüPunkte.
"hasChildren" erkennt zwar richtig, ob ein Menüpunkt Unterpunkte hat, aber der ausgelesene subtree ist immer leer.
Hat jemand einen Tipp für mich?
Danke und Grüße
rhodes
- Anmelden oder Registrieren um Kommentare zu schreiben
Das liegt daran, dass nur
am 06.08.2020 - 07:04 Uhr
Das liegt daran, dass nur Subtrees geladen werden, bei deren Elternelement "ausgeklappt anzeigen" aktiviert ist.
Hier ist eine Lösung um den kompletten Tree zu laden: https://drupal.stackexchange.com/questions/252503/can-menutree-load-a-me...
Vielen Dank...
am 06.08.2020 - 07:48 Uhr
.. das hilft mir sehr weiter...