Comment afficher les termes dans une vue dans sa structure hiérarchique?

20

J'ai créé une vue pour montrer les termes du vocabulaire des produits .

Je la vue que je mets:

Format: liste html

Afficher: champ

Champs: Terme de taxonomie: Nom

Cela fonctionne bien mais la structure hiérarchique est perdue.

Le vocabulaire des produits a cette structure:

- Voitures

--Gué

--Volvo

- Ordinateurs

- Bureau

--Portable

Mais dans les vues, les termes ont perdu la structure hiérarchique et sont répertoriés comme:

- Voitures

-Gué

-Volvo

- Ordinateurs

- un bureau

-Portable

Qu'est-ce que j'oublie ici??

chefnelone
la source

Réponses:

16

Je vous recommande d'essayer le module Views Tree qui installe un plug-in de style Views (adjacence) qui vous permet de répertorier le vocabulaire de manière hiérarchique.

Commentaire: L'aperçu des vues n'affiche pas la disposition de l'arborescence, mais l'affichage normal de la page s'affiche sous forme d'arborescence.

Artur
la source
2
Comment: drupal.org/node/1493366
Andrey Rudenko
12

Vues Tree est agréable pour une configuration hiérarchique simple et rapide, mais il manque certaines fonctionnalités comme différents champs / configuration pour différents niveaux d'arborescence et de regroupement

Vous pouvez obtenir une configuration plus flexible avec Views Field View .

C'est la configuration dont j'avais besoin pour un arbre de taxonomie à trois niveaux où j'avais besoin d'un regroupement par terme de niveau supérieur.

  1. Créer une vue des termes avec un affichage de page (ou tout autre affichage)
  2. Ajouter une relation "Terme de taxonomie: Terme parent"
  3. Ajouter un champ: nom du terme (sans relation), nom du terme (relation parent, exclu de l'affichage)
  4. Ajouter un terme de taxonomie de filtre: Terme parent (relation parent) égal à 0. (afficher uniquement le niveau 2)
  5. Dans les paramètres de format, utilisez le regroupement avec le champ (Parent) Term Name (pour afficher le niveau 1)
  6. Ajouter un nouvel affichage (une pièce jointe est bonne)
  7. Remplacez ses champs (cliquez simplement sur n'importe quel champ, choisissez cette pièce jointe (remplacée) dans la zone de sélection en haut, puis enregistrez le champ (c'est pour éviter la récursivité)).
  8. Remplacez la pièce jointe Filtres contextuels en ajoutant le terme de taxonomie: Nom (relation parent)
  9. Ajoutez un champ de vue (Global: Vue) à vos champs de vue.
  10. Utilisez la pièce jointe dans la configuration du champ de vue et ajoutez le jeton pour le nom du terme (pas le parent) comme valeur de filtre contextuel envoyée à la pièce jointe.

Vous pouvez supprimer la relation du filtre à l'étape 4, cela affichera le niveau supérieur dans l'affichage principal, vous pouvez donc ignorer le regroupement (étape 5), puis ajouter un nouvel affichage pour chaque niveau que vous souhaitez afficher (contrôle du nombre de niveaux afficher)

Pour moi, cela a donné presque les mêmes résultats de Views Tree mais avec la flexibilité dont j'avais besoin.

Mahmoud Mostafa
la source
4

J'ai résolu une tâche similaire en utilisant le module de menu Taxonomy .

Transformez facilement n'importe lequel de vos vocabulaires taxonomiques en menus existants!

Fonctionnalités:

  • Menu personnalisé par vocabulaire
  • Utilise le chemin par défaut des termes
  • Intégration avec les vues
  • Intégration avec Path Auto
  • Personnalisez le chemin d'accès du menu à tout ce qui utilise des crochets: Documentation développeur pour la version 6.x-2.x
  • Il n'interfère pas avec les autres modules de menu
Peter Lozovitskiy
la source
Je recommande de ne pas utiliser ce module si vous souhaitez créer un site i18n. Cela pose un gros problème dans ce cas.
juger
Pouvez-vous décrire en particulier quel type de problèmes ce module a pour le site i18n? Je n'ai eu aucun problème avec l'internationalisation avec ce module.
Peter Lozovitskiy
Si vous avez la taxonomie i18n et le menu i18n, il n'y a aucun moyen de l'exécuter correctement. Vous pouvez même le lire sur le site du projet de module. Il n'y a aucun support pour cela.
juger
3

Si vous n'avez qu'une arborescence de catégories à 2 niveaux et que cela ne vous dérange pas de perdre le format ul imbriqué ou de pirater les fichiers de thème, vous pouvez obtenir une telle fonctionnalité en suivant:

  1. Ajouter une relation "Terme parent" à la vue et l'exiger.
  2. Avoir deux champs "Term Name". Un sans relation et un autre masqué du champ d'affichage à l'aide de la relation nouvellement créée.
  3. Utilisez le champ masqué comme champ de regroupement.

Je ne sais pas si c'était exactement ce qui était prévu ...

mariomc
la source
c'est un bon essai mais pas exactement ce dont j'ai besoin.
chefnelone