Comment afficher les sous-menus séparément de leur arborescence de menus? [fermé]

8

J'essaie d'afficher tous les sous-menus de troisième niveau pour un élément de menu sur une seule page, chacun dans son propre bloc d'affichage. J'ai essayé le module Menu Block, mais il ne semble fonctionner que pour la piste active, ce qui signifie que je ne peux afficher que tous les menus de 2e niveau et de 3e niveau en une seule unité plutôt que seulement les menus de 3e niveau en tant qu'unités distinctes.

En plus du module Menu Block, j'ai également essayé d'accéder à l'arborescence des menus directement avec ce code.

      $main = menu_navigation_links('main-menu', '2');
      echo theme('links__system_main_menu', array(
      'links' => $main,
      'attributes' => array(
      'id' => 'main-menu',
      'class' => array('links')
    ),
  ));
?>

Voici la structure du menu:

- Parent Menu 1
- Parent Menu 2
  - Child Menu A
    - SubChild Menu 1A
    - SubChild Menu 2A
    - SubChild Menu 3A    
- Child Menu B
  - SubChild Menu 1B
  - SubChild Menu 2B
  - SubChild Menu 3B

Ce que j'aimerais afficher lorsque le menu parent 2 est sélectionné:

Bloc 1: Menu Sous-enfant 1A | Menu des sous-enfants 2A | Menu sous-enfant 3A

Bloc 2: Menu SubChild 1B | Menu des sous-enfants 2B | Menu sous-enfant 3B

Toute aide sur la bonne façon d'afficher des sous-menus séparés de leur arbre serait grandement appréciée.

user1240408
la source
Vous devez effectuer une récupération directe de la base de données.
niksmac
Vous devez définir la source de votre menu secondaire. Bien que ce soit pour Drupal 6, cette vidéo m'a beaucoup aidé à le configurer pour Drupal 7: lullabot.com/node/444/play
Tim
Le «Menu enfant A» et le «Menu enfant B» ne sont-ils pas en fait des éléments de menu (c'est-à-dire qu'ils servent simplement d'en-têtes ou de séparateurs)? Aussi, pourquoi exactement voulez-vous / devez-vous diviser les deux sous-menus en blocs séparés? La solution la meilleure / la plus simple peut se situer en dehors de ce que vous essayez de faire ici, il serait donc utile de savoir quel est votre véritable objectif final afin que nous puissions envisager d'autres options.
sheena_d
J'ai fini par faire une extraction directe de la base de données:
user1240408
Le menu enfant A et le menu enfant B sont tous deux des éléments de menu. J'essaie d'afficher tous les sous-menus du menu enfant A dans un bloc, tous les sous-menus du menu enfant B dans un autre bloc, etc., le tout sur une seule page. Il s'agit d'une page de résumé pour toutes les différentes sections du menu enfant.
user1240408

Réponses:

5

Je pense que la meilleure façon de procéder est d'utiliser simplement le module de bloc de menu . Voici une citation à ce sujet (à partir de la page du projet du module):

... avez-vous déjà utilisé la fonction de liens du menu principal et secondaire sur votre thème et vous êtes-vous demandé "comment diable puis-je afficher des éléments de menu plus profondément que cela?"

Eh bien, c'est ce que fait ce module. Il fournit des blocs configurables d'arborescences de menus commençant par n'importe quel niveau de n'importe quel menu. Et plus!

Donc, si vous utilisez uniquement la fonction de liens du menu principal de votre thème, vous pouvez ajouter et configurer un bloc «Menu principal (niveaux 2+)». Ce bloc apparaîtrait une fois que vous étiez sur l'une des pages du menu principal et afficherait l'arborescence du menu pour le 2e niveau (et plus profond) de votre menu principal et s'élargirait au fur et à mesure que vous parcourriez l'arborescence. Vous pouvez également limiter la profondeur de l'arborescence du menu (par exemple «Menu principal (niveaux 2-3)») et / ou développer tous les sous-menus enfants (par exemple «Menu principal (niveaux étendus 2+)»).

Manuel Garcia
la source