Affichage contenu depuis un menu avec des sous gatégories

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,

voila j'ai crée un menu livres avec des sous categories (action,aventure, etc..) et pour chaque sous categorie une page par livre. En gros cela donne :

Livres
action
page1
page2
aventure
page1
page2

quand je cliques sur le lien Livres de mon menu, il s'affiche bien dans ma page les sous categories
action
aventure

par contre quand je cliques sur une de mes sous catégories,je n'ai pas mes pages (page1,page2) qui s'affiche dans la page de la sous catégorie et je souhaiterais que cela s'affiche comment quand je cliques sur Livres.

Comment dois je m'y prendre?

Merci beaucoup

Version de Drupal : 

Pour résumé, voila ce que j'ai fait mais bon peut être que ce n'est pas la bonne solution.

J'ai crée 2 type de contenus (CCK)
- Catégorie Livres
- Fiches livres

Catégorie Livres étant le dossier parent des fiches Livres.

J'ai crée mon contenu :
action type : Catégorie Livres
Page1 type : Fiche Livres
Page1 type : Fiche Livres
aventure type : Catégorie Fournisseur
Page1 type : Fiche Livres
Page1 type : Fiche Livres

J'ai ensuite créé 2 views :
- Livres : qui liste les catégories de Livres : vue qui fonctionne (pour info, j'ai créé une entrée manuellement dans le menu - le lien Livres et la laision s'est faite seule...)
- Livres_par_Catégorie : qui devrait lister les Livres par catégorie dynamiquement.

Je n'arrive pas a mettre ce côté dynamique. Cela fonctionne si je fait une vue catégorie par catégorie... mais ce n'est pas le but du jeu.
J'ai du mal à lié le menu dynamique avec une vue dynamique...

Merci

ouh la ...

si tu veux bien on va rester sur tes types de contenu pour le moment...

Déjà, "catégorie fournisseur", c'est quoi ? une erreur de ta part ou un 3e type de contenu ?

Ensuite, si je comprends bien, au sens de Drupal tu as des noeuds qui référencent des catégories (action, aventure...) et des noeuds qui référencent des livres ; quand tu crées une fiche "livre", de quelle façon tu la rattaches à la catégorie dont elle fait partie ? tu as paramétré un champ NodeReferer qui te renvoie les noeuds correspondant ("action", "aventure") ?

C'est important pour savoir comment tu paramètres tes vues

Mais ce n'est pas a priori la façon la plus simple d'utiliser Drupal - ça dépend de ce que tu veux faire de ton site : ces fiches sur des livres sont-elles l'essentiel du site (qui est en quelque sorte une bibliothèque, ou une bibliographie plutôt) ? seras-tu seul à les créer ou y aura-t-il une communauté ?

Par ailleurs je ne comprends pas très bien pourquoi tu as eu besoin de faire un type de contenus pour tes catégories ; peux-tu donner quelques précisions ? quels sont tes champs dans ce type de contenu ?

Pour la premiere question c'est une erreur c'est catégorie Livres.

Ensuite oui j'ai crée un champ NodeReferer qui s'appelle 'dossier parent' et qui réference le type de contenu Catégorie Livres.

En faites quand je clique sur le liens Livres j'ai bien toutes mes catégories qui sont listées dans ma page c'est quand je cliques sur l'une des catégories que mes pages de cette catégories ne sont pas listées dans ma page.

Pour ce qui est du site je souhaite simplement créer une sorte de liste de livres par catégories et dans chaque catégorie une fiche détaillée pour chaque livre.

Merci

OK.

Alors, deux réponses.

La première, c'est si tu tiens absolument à conserver ce système où les catégories sont des noeuds (du type "catégorie de livre"). Ce n'est vraiment pas le plus commode pour Drupal mais tu as le droit de t'y tenir.

Tu vas faire une vue (recommence de zéro si tu veux) de type Nodes. Ce que tu veux, c'est qu'elle t'affiche des titres de noeuds, certains noeuds étant des fiches livres, d'autres étant des catégories reliées aux fiches par le nodereferrer ; tu vas donc utiliser un système du module Views qui s'appelle les "relationships".

Mettons que tu aies appelé le nodereferrer "field_categoriedulivre", label (étiquette) Catégorie.

Donc, tu crées ta vue, tu arrives dans les paramètres par défaut (default). Pour le moment, ne t'occupe pas des affichages (displays). Déjà, tu vas installer des filtres : tu vas appeler le filtre Node:type et sélectionner uniquement "is one of = fiche livre". Tu ne l'exposes pas. Eventuellement, tu ajoutes un filtre Node:Published et tu coches Yes. Si ça te fait plaisir.

Ensuite, tu appelles ta relation. Dans le bloc Relationships, tu cliques sur le "plus" et tu sélectionnes "Content:Catégorie (field_categoriedulivre)" (càd l'étiquette puis le nom du champ entre parenthèses). Tu ne coches pas "Require this relationship".

Ensuite, tu sélectionnes (basic settings) le row style "Fields", et tu choisis une liste HTML ou non formatée, comme tu veux (tu fignoleras plus tard).

Puis, tu vas déterminer tes champs à afficher : dans le bloc fields, tu cliques sur le + et tu sélectionnes Node:Title. Dans la configuration du champ, tu vois une petite liste déroulante avec deux valeurs : "Do not use a relationship" et "Catégorie" (l'étiquette de ton champ) ; tu la laisses inchangée et tu paramètres ton champ, notamment en le liant à son noeud. Cela va t'afficher les titres de toutes tes fiches de livre (parce qu'en filtre, tu lui as indiqué que c'est ce type de contenu que tu voulais afficher).

Ensuite, tu recommences dans le même bloc fields, tu cliques sur + et tu sélectionnes DE NOUVEAU Node:Title. Mais cette fois-ci, astuce suprême, tu utilises la relation (liste déroulante, valeur "catégorie") : alors il va afficher le titre du noeud "catégorie" que ton nodereferrer appelle (tu saisis ?) ; tu paramètres le champ comme tu veux.

Tu reviens dans le bloc des basic settings, à la configuration de ton Row style (clic sur la petite roue dentée / étoile / flocon / machin gris et rond) et en "grouping field" tu sélectionnes "catégorie". Tu crées un affichage (display) en bloc, tu enregistres et tu vas installer le bloc dans une région du thème (admin/build/blocks).

Et là, en principe, tu as à peu près ce que tu voulais.
J'ai fait ça de mémoire, adapte-toi si tu ne vois pas cela exactement dans l'ordre que je viens de dire.

La deuxième réponse, c'est qu'il serait beaucoup plus simple de travailler avec la taxonomie. Tu crées un vocabulaire "Catégories de livre" et un terme par catégorie (action, aventure...). Tu affectes ce vocabulaire au type de contenu "fiche livre".

Quand tu crées une fiche livre, tu la "tamponnes" du terme adéquat. Tu laisses tomber le nodereferrer. Tu peux ensuite faire un menu (avec une vue (utilisant cette fois l'argument Taxonomy:term) ou un module comme Taxonomy Menu qui je crois sert à cela) qui affiche les termes de ton vocabulaire ; quand tu cliques sur un terme, tu vois immédiatement toutes les fiches "tamponnées" avec ce terme. (mais leur titre n'apparaitra pas dans ton menu si tu fais une vue avec l'argument)

Note que dans la première méthode, si tu relies le champ "(Catégorie)Node:Title" à son noeud, en cliquant dessus dans le menu on verra juste ton noeud ("action" par exemple). C'est intéressant s'il y a des champs importants dans ton type catégorie, si tu as vraiment besoin d'associer à une catégorie des renseignements importants - mais je ne vois pas trop. S'il n'y a qu'un titre de noeud, ça n'a pas grand intérêt. Un terme de taxo peut être décrit et si nécessaire tu peux ajouter des champs, comme avec le CCK, avec le module Term Fields.

Après, c'est à toi de voir.
Bon courage.

+1
Dès ma première réponse je lui disais de regarder du coté de la taxonomie.
Taxonomie Menu est le bon module pour ses menus

Au besoin un petit coup de cck pour optimiser les champs de ses noeuds...

et voilou

Merci pour tes explications qui m'ont aidé énormément.

J'ai finalement opté pour la seconde mèthode avec la Taxonomie qui me parait plus simple. Par contre je bloque pour la création d'un menu avec une vue. Je veux bien quelques explications si cela est possible.

J'ai tenté en utilisant la vue taxonomy_term et en paramètrant les onglets suivant :

Paramètres de la page
Chemin: taxonomy/term/%
Menu: Pas de menu

mais je ne vois pas comment faire car lorsque je souhaite crée un menu, je choissis 'Entrée de menu normale' dans le choix proposé par la vue mais lorsque je cliques sur enregistrer j'ai le message qui m'indique :
Views ne peut pas créer d'élément de menu normal pour les chemins comportant un %.

De plus dans l'onglet
Chemin: taxonomy/term/%

je ne vois pas comment configurer

Page: Le chemin ou l'URL de menu pour cette vue
http://www.toto.fr/taxonomy/term/%

Je ne vois pas la.

Merci