web-dev-qa-db-fra.com

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

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

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??

20
chefnelone

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 est affiché sous forme d'arborescence.

16
Artur

Arborescence des vues 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 Affichage du champ de vues .

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 la 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 filtre Terme taxonomique: 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.

12
Mahmoud Mostafa

Vous pouvez utiliser le module Champ de poids de la hiérarchie des termes de vues . Il fournit un nouveau filtre de tri pour trier les termes par ordre hiérarchique.

4
Pol Dellaiera

J'ai résolu une tâche similaire en utilisant le module 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
4
Peter Lozovitskiy

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 ...

3
mariomc

Views Hacks possède un sous-module views_summary_taxonomy qui semble faire ce que vous recherchez:

"Il affiche un résumé hiérarchique des termes de taxonomie dans vos résultats d'affichage."

http://drupal.org/project/views_hacks#views_summary_taxonomy

1
robydago