Drupal 8 - Afficher un menu dans le code

Posté le Jeudi 20 septembre 2018 - 19:10
Dernière mise à jour le Jeudi 3 décembre 2020 - 16:09

Dans le contrôleur / Bloc...

    /** @var \Drupal\Core\Menu\MenuLinkTree $menu_tree_service */
    $menu_tree_service = \Drupal::service('menu.link_tree');

    $menu_parameters = new \Drupal\Core\Menu\MenuTreeParameters();
    $menu_parameters->setMaxDepth(1); // Profondeur du menu à afficher
    $menu_name = 'footer'; // Nom machine du menu à afficher

    $menuLoaded = $menu_tree_service->load($menu_name, $menu_parameters);

    $menus = [
      'footer' =>  $menu_tree_service->build( $menuLoaded),
    ];

    return [
      '#theme' => 'page-404',
      '#menus' => $menus,
    ];

et tout simplement dans notre template :

{{ menus.footer }}

 

Aller plus loin ?

 

Commentaires

et la variable menufootertree tu la sort de ton cul ?

Le fait que le contenu soit disponible gratuitement n’empêche pas d'être poli ou agréable.

L'extrait de code a été corrigé.

Ajouter un commentaire

Ne sera pas publié

CAPTCHA Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...