Menu dynamique , comment faire ?

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 ,

je cherche a faire la chose suivante.

A partir d'un lien donné ( par exemple une page vers un article "Livre" ) fabriquer un menu dynamique ( dans le thème ou peut être via un module a faire .. je ne connais pas bien Drupal)

Ce menu pourrait être :
- Résumé du livre ( lien vers une page qui affiche le résumé du livre)
- Les auteurs ( lien vers une page qui affiche des infos sur des auteurs)
- L'index du livre ( une page qui affiche l'index du livre)

Cela implique :
- que les liens du menus soient paramétrables ( puisqu'on peut lui demander la meme chose pour un autre livre)
- que la page du lien ciblé (Résumé, Auteur,Index) , puisse gérer un node paramétrable aussi et s'afficher en fonction du livre donné . ( Peut être avec View ou du code dans le template de la page)

Merci de votre aide .

Cordialement

Version de Drupal : 

Finalement ma question revient à savoir comment on peut avoir une page "générique" qui sera appelée par un lien du site .

Cette page devra se rendre compte qu'on veut afficher un node particulier( par exemple un livre donné)
Elle va afficher un thème donné et fabriquer ( dans un module spécial ? au niveau du thème ?) un menu dédié
Ce menu aura des liens pour afficher les pages Résumé, Auteurs ,Index etc .. qui sont aussi des liens vers des pages génériques avec des thèmes différents .

Est-ce que cela est possible et correspond a la philosophie de Drupal ou peut etre il y a une autre manière de procéder?

merci de votre aide .

Bonjour ,

J'aimerai vraiment trouver des éléments de réponse à ma question .

Peut être que ma question est mal posée donc je vais essayer de la formuler d'une autre manière .

Par exemple , je crée un node de type "Livre" . (Ce type de contenu est fait avec CCK)
Il contient par exemple :
- un descriptif du livre
- un texte "auteurs du livre"
- un texte "sommaire du livre" .

Quand on clique quelque part sur le site sur ce node je voudrai afficher une page avec le menu suivant :
- descriptif du livre
- liste des auteurs
- sommaire du livre .

Chaque liens du menu devrait ouvrir une page en rapport avec ce menu donc :
- une page "descriptif" ( divers blocs sur cette pages dont au moins le contenu "descriptif" du livre en question
- une page "liste d'auteurs"
- une page "sommaire du livre"

S'il n'y avait qu'un seul livre , on pourrait coder en dur le node du livre et faire tout cela ;
Supposons qu'on ait 1000 livres . Il est impensable de définir un menu pour chaque livre .
Il faudra donc avoir un menu constitué dynamiquement du bon node du livre choisi .
Ensuite chaque lien du menu devra pointer sur des pages aussi définies dynamiquement .
Par exemple si je clique sur le menu descriptif du livre node XXX , afficher la page "descriptif" de XXX .
Si je clique sur le menu "descriptif" pour le livre YYY , afficher la page descriptif de YYY .

Ma demande revient donc a savoir :
- comment et ou construire le menu "dynamique" ( dans un hook_menu ? dans un module ou au niveau du thème ?
- comment gérer une page "dynamique" dans laquelle on lui passe un argument ( le node du livre )

Merci de votre aide .

Cordialement .

La confusion de ta question (usage des termes dans des sens différents, etc.) semble montrer que tu ne tiens pas encore Drupal bien en mains ; visionne quelques tutoriels sur le module Views (il y en a sur biboo.net), tente des choses plus simples pour commencer et tu comprendras petit à petit comment obtenir ce que tu veux.

A toutes fins utiles, pour gérer des listes bibliographiques il existe le module Biblio qui est intégré avec Views et en phase d'intégration avec le CCK ; mais il est extrêmement complexe (multiples types de notices bibliographiques).

Bonjour ,

@sahuni : oui , je pense que la solution sera dans un hook_menu pour fabriquer ce menu dynamique.

@Marie-Hélène : effectivement je ne connais pas bien Drupal ( ce que je précisais dans mon premier post) .
Faire un menu dynamique et afficher une page dynamique me semble assez basique dans l'élaboration d'un site internet.
Reste à savoir comment cela peut se faire avec Drupal.

Je vais analyser le module Devel qui semble faire un peu ce que cherche .
Peut-être que je trouverai une manière de faire .

En tout cas merci d'avoir répondu.

Cordialement

J'ai peut être une solution à cette question que je me posais aussi ce matin. Je l'ai expérimentée et ça a l'air de marcher. Il faut faire une vue(view) qui affiche le menu que tu veux avec des liens qui utilisent des jetons(token)donc dynamique. Aprés dans le réglage de la vue tu créais un affichage de type block et non page. Tu as ainsi défini un block. Maintenant tu peux afficher ce block dans toutes les pages ou en filtrant les pages qui t'intéressent quand tu cliques sur les options de configuration du block.
Seul inconvénient, ce menu est en fait un block. Mais est ce que c'est un problême?

Salut slucas ,

Merci pour ta réponse .
Je vais regarder cette solution . J'ai presque tout compris sauf l'histoire de la vue avec les jetons :) mais c'est normal je débute et je vais voir de quoi ca parle avec View .
Je reviendrai vers toi si je ne trouve pas d'infos .

J'ai trouvé tout un tas d'articles ou de livres qui expliquent la partie utilisateur et paramétrage de Drupal mais pas grand chose sur ses rouages internes.

Par contre je viens de trouver ce livre qui semble pas mal :
http://templates.m42.hu/blog/2007/08/pro-drupal-development-book-review
Peut être que l'amorce d'une solution y est présentée .
En tout cas cela semble bien expliquer le fonctionnement interne de Drupal .

Si j'arrive à trouver une solution "académique" à mon problème , je reviendrai faire un résumé de cela .