Menu | gestion des sous menus

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour à tous, je reviens avec quelques problèmes de sous menu!

J'ai crée 4 primary links. Avec chacun d'entre eux des sous menus.
Quand je clique sur 1 primary links, j'obtient dans la colonne de gauche un bloc avec la liste des sous-menu.
Le premier sous-menu est sélectionné par défaut et le menu s'affiche en rouge.

J'aimerais que le prymary links soit aussi en rouge, pour montrer ou l'on se trouve. Actuellement seul le sous-menu s'affiche en rouge suivant la navigation. comment puis-je faire?

2ème questions : pourquoi lorsque j'édite une page, elle n'est plus "accroché" a son primary links et disparait dans les méandres de la navigation. A chaque fois donc que j'édite une page, je dois ensuite allé la récuperer et l'attacher à son menu d'origine. Comment se fait-ce??

Forum : 
Version de Drupal : 

Salut,

1) Ca tombe rudement bien, je viens de d'officialiser sur drupal.org deux modules de gestions des menus et de la navigation des "book" drupal ("Sliced Menu" et "Sliced Book Navigation"). Ces modules permettent de séparer ton menu en plusieurs blocs (un par niveau) que tu place n'importe ou sur ta page. C'est en gros le fonctionnement des primary et secondary link sans limitation de profondeur. Et cerise sur le gâteau, tes différents blocs de menu savent ou tu te trouve sur ton site, et donc les éléments parcourus restent actifs tant que tu est dans une sous section de ton menu. Un exemple ici : groovnco.free.fr

2) Les menus et autres sous menus son considéré actifs en fonction de l'url. Lorsque tu édite ta page, ton url devient "node/x/edit", ce qui n'est pas le chemin vers lequel pointe ton élément de menu. Et donc tu perd tes éléments actifs.

J'espère que ces modules te seront utiles, ils seront normalement disponibles sur drupal.org dans les 24 prochaines heures.

Bonjour alwex,
Merci pour ce nouveau module qui va servir a beaucoup de personne je suis sur.

Mais, mon problème est que j'ai 4 primary links sous forme d'images. En rollover, les images changent de couleurs. j'aimerai que lorsque je clique sur un de ces liens, il reste de la couleur qu'il faut.

je ne suis pas sûr que ton module peut fonctionner avec ce type de configuration. As-tu des conseils à me donner?

Si ton menu est entièrement géré via CSS, il ne devrait pas y avoir de problèmes.

Les différents blocs générés par le modules sont comme ceci :

<ul class="menu_block_x">
  <li class="inactive"></li>
  <li class="inactive"></li>
  <li class="active"></li>
  <li class="inactive"></li>
</ul>

Il ne reste plus qu'à appliquer le style qui convient la ou il faut.

As tu un exemple de ce que tu voudrais faire ?

Je n'ai pas d'exemple précis. Je vais fouiller sur le WEB.
Pour mon problème :
J'ai 4 menus générés en image grâce au module SIFR; qui me permet d'avoir une police spécial pour mes menus.
Ces 4 menus ont un fond blanc et rouge en rollover. Lorsque je clique sur un de ces 4 menus (prymarylinks), apparait dans la colonne de droite ses sous-menus.

De la même manière les sous menus sont sur fond blanc et rouge en rollover. Chacun de ses sous-menu contiennent des sous sous-menu etc.

Je voudrais que lorsque je clique sur un de ces liens primaires, il reste en fond rouge, quand je clique sur un sous sous menu, tous les menus du dessus les menus père, reste sur fond rouge.

j'espère avoir été plus clair ^^.

Oui merci, je vais essayer de rentrer en dur du code.
Pour cela pourrais-tu me dire comment obtenir le menu père de la rubrique ou je me trouve? si cela est possible.
Ainsi que le menu père de tous les sous menus en découlant?

Merci bcp :-D

Tu pourrais éventuellement regarder du coté des fonctions du fichier includes/menu.inc.

Par exemple la fonction menu_get_local_tasks() permet de récupérer la branche active de ton menu (si je me souvient bien). En tous cas, ce que tu décrit est faisable, mais cela demandera peut être un peu de temps (et quelques connaissances en php) avant de réussir à le mettre en place.

Pas si simple que ça. La navigation sous drupal est vraiment très limitée.

Il n'y a aucun moyen de connaitre le menu primaire d'une succession de sous-menu.
Avec une fonction du style get_menu_root() ???

De mémoire, l'ensemble du menu est stocké dans la variable globale $_menu. C'est un peu bourrin, mais tu peux retrouver n'importe quel élément de menu là-dedans, et remonter jusqu'au parent le plus élevé avec une fonction récursive.