[Résolu] Hiérarchie des contenus, harmonie des breadcrumbs, des URL et des 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.

Salut tout le monde,

j'aimerais connaitre le moyen le plus simple d'organiser mes articles dans Drupal, je m'explique: Je voudrais créer par exemple une hiérarchie d'articles comme suit

-Europe
...-France
......-Article 1
......-Article 2
...-Allemagne
......-Article 3
...-Espagne
...-Italie
-Afrique
...-Togo
...-Cameroun
-Amérique
...-Canada
...-Etats-unis
...-Brésil
...

Je voudrais que mes articles soient contenus dans leurs catégories, que quand je clique sur l'Article 1, j'ai mon URL qui ressemble à ça: monsite.fr/Europe/France/Article1
et de même pour mon fil d'Ariane (breadcrumb): Accueil - Europe - France - Article1
Ça me paraissait simple à la base mais je suis parti dans tous les sens, j'ai installé toutes sortes de modules sans succès, je sais qu'il doit y avoir une méthode simple et efficace pour ça, on devrait y arriver avec la taxonomie.
Merci d'avance pour votre aide,

Jérôme MEGEL

Forum : 
Version de Drupal : 

Oui j'ai cherché et rien ne correspond exactement à ce que je recherche, c'est on ne peut plus simple et pourtant je galère dessus et ça ne me parait pas natif dans Drupal. Pour les modules j'ai essayé taxonomy_menu, menu_breadcrumb, custom_breadcrumb, category, path_auto, hierarchy et j'en passe

Non seulement ce n'est pas natif dans Drupal, mais c'est même contraire à la logique de Drupal. Drupal ne range pas l'information. En bricolant avec différents modules tu peux arriver à quelque chose qui donne l'air d'organiser hiérarchiquement l'information, mais il faudra sans doute faire des concessions par rapport à ce que tu veux obtenir.

Ok mais qu'entend tu par la logique de Drupal ? car ce genre de fonctionnement est plutôt fréquent dans les sites. Il n'y a vraiment aucun moyen logique d'organiser ces informations ? Est ce que quelqu'un a réussi à faire ça d'une façon propre et simple ?

Dans Drupal les informations sont dans un "pot commun". L'organisation des informations est extérieure aux informations elles-mêmes. Ce n'est pas l'information qui est associée à une rubrique, c'est la rubrique (un terme de taxonomie) qui est associée à l'information. C'est la raison pour laquelle il n'y a pas de réel moyen d'associer une rubrique à une rubrique (pour faire des sous-rubriques) car ce sont deux objets "égaux". Cela demande de repenser complètement ta façon d'organiser les choses. Si la structure hiérarchique est vraiment déterminante dans ton projet, et si les solutions possibles pour "faire semblant" ne te conviennent pas, il faut peut-être envisager un autre outil.

Alors tu as besoin des modules suivant :
- custom breadcrumbs (fils d'ariane) + token (pour gérer les noms de tes fils d'ariane d'après tes nodes)
- pathauto : pour renommer tes url

La combinaison de ces trois modules m'a suffit pour effectuer une arborescence comme la tienne sans problèmes.

Le seul module (que je connaisse) qui gère la génération automatique d'URLs "hiéarchique" c'est NodeHierarchy, il s'occupe en plus de générer automatiquement les items de menus en fonction de cette hiérarchie. Attention toutefois il n'est pas compatible avec tous les modules. L'aspect intéressant c'est qu'on peut définir seulement certains type de contenus comme étant hiérarchique, avec un parent par défaut par type de contenu que l'on peut définir. Pour les breadcrumbs, jamais évident de gérer la cohérence avec Drupal... mais NodeHierarchy gère ça pour les types de contenus qui sont désignés comme hiérarchique.

En fonction des contenus et de ce que tu veux faire comme catégorisation, http://drupal.org/project/taxonomy_treemenu pourrait être une meilleure option... mais pas testé celui-ci et je ne pense pas que ça règle le problème de cohérence URL

Hello,

D'après moi si tu as un vocabulaire "Géographie" avec une classification hiérarchique des Continents puis Pays :
* Tu peux obtenir tes urls avec Pathauto en utilisant un token du type [termpath-raw]/[title-raw]
* Tu peux obtenir ton breadcrumb avec le module Custom Breadcrumbs ou Taxonomy Breadcrumb

J'ai pas testé mais cela devrait marcher...

A+

Oui, ou alors faire un vocabulaire par continent ; tout dépend de la complexité du projet, et s'il faut catégoriser les articles selon beaucoup de concepts (géographie, thèmes, personnalités...) auquel cas il vaut mieux envisager un vocabulaire par concept. Mais si la géographie est la seule manière prévue de catégoriser, alors on peut retenir la solution un vocabulaire par continent. Dans ce cas l'alias d'url sera vocabulaire/terme/article.

Intéressant, j'avoue que je ne maîtrise pas encore totalement la taxonomie... ça m'ouvrirai des perspective ça... mais peut-on faire vocabulaire/termeX/soustermeX/article ?

NB : Moi je n'ai pas [termpath-raw] mais [catpath-raw], question de version ?

Je ne connais pas assez les jetons disponibles dans pathauto pour te répondre. (@david)

D'un autre côté, il faut bien retenir que les alias d'URLs générés par pathauto ne sont ... que des alias. C'est-à-dire que si j'ai dans ma barre d'adresse racine/europe/france/titre-de-mon-article et que j'efface le titre-de-mon-article en me disant "qu'y a-t-il dans la rubrique france ?", je n'aboutirais qu'à une erreur 404 à moins que le développeur du site n'ait prévu une vue, groupant tous les articles taggés France, à l'adresse racine/europe/france.

Je me répète : Drupal ne RANGE pas ! on fait seulement semblant.

Marie-Hélène,
Justement l'idée est de paramétrer pathauto pour que chaque terme de taxonomie corresponde au chemin racine/[contient]/[pays].
Exactement comme pour les chemins de noeuds.

Cela associé au breadcrumb qui va bien, et hop, on a la réponse au cahier des charge...

Effectivement, par contre pour catpath-raw vs termpath-raw, je me réfère juste au fait que je n'ai pas termpath-raw dans les tokens dispo pour taxonomy (???). Je me demandai quelle était la différence...

Aussi ma question était est-ce qu'on peut dépasser un niveau de profondeur dans la hiérarchie des URLs de taxonomie i.e :
europe/france/auvergne/article

Car là ça deviendrait intéressant... je vais tester

Edit : OK j'ai compris on ne parle pas de la même chose... je parle des réglages de chemin dans Path Auto pour la Taxonomie, et toi tu parles des chemins auto pour les Nodes ou effectivement on trouve [termpath-raw]. D'un point de vue conceptuel par contre si une page est associée à plus d'un terme comment est générée l'URL ?

Edit 2 : OK apparemment dans ce cas, il choisit le terme parent : http://drupal.org/node/543980 :-\

Drupal choisi le "vocabulaire" dont le poids est le plus léger.
Puis il va afficher dans l'ordre de la hiérarchie des termes à l'intérieur du vocabulaire, soit europe/france/auvergne

On peut dépasser un niveau de profondeur dans la hiérarchie des URLs de taxonomie i.e
Oui je viens de tester et j'ai généré l'url suivante : www.ineation.com/europe/france/auvergne/titredupost

Bonjour,

je déterre un peu le sujet.
Je suis à ce jour en train de m'occuper d'une synchronisation de produits depuis une base de données externe vers ma bdd drupal.

Afin de hiérarchiser mon contenu, j'ai défini une taxonomie comme suit :
-[la catégorie] (jardinerie, animalerie, etc.)
--les-produits (existe dans chaque catégorie)
---[la sous-catégorie] (pépinière, etc.)
----[le rayon] (rosiers, etc.)

Durant le traitement j'attribue mon nœud à un rayon et je souhaiterai que pathauto me génère une url du type :
[la catégorie]/les-produits/[la sous-categorie]/[le rayon]/[le titre du produit]

J'ai donc, pour les noeuds de ce type de contenu, indiqué ceci dans mon pathauto :
[termpath-raw]/[title-raw]

Seulement le token termpath-raw ne me remonte que le rayon et pas les catégorie auxquels il est rattaché...

Quelqu'un aurait-il rencontré un soucis similaire ? une éventuelle solution ?

Merci d'avance.

Cordialement,
ReKoNE