Comment montrer le terme de taxonomie parent et enfant?

14

J'ai un vocabulaire comme celui-ci:

  • Parent 1
    • Enfant 1
    • Enfant 2
    • Enfant 3
  • Parent 2
    • Enfant 1
    • Enfant 2

Maintenant, je voudrais utiliser une vue pour créer une liste d'un terme parent avec ses termes enfants. J'essaie de le faire avec Views UI, mais ne montre que le terme parent ... Pas le terme enfant. C'est très déroutant pour moi.

Quelqu'un peut-il aider avec cette affaire? Merci: D

Eduardo Gabriel Cabrera Japa
la source

Réponses:

14

Les vues peuvent le faire. Vues est une interface utilisateur pour les recherches SQL, vous définissez donc la définition de la requête qui sera faite de la base de données de contenu.

  1. Créez une vue pour afficher un terme de taxonomie avec une page avec un chemin configuré le long de cette ligne category/%. Il %s'agit d'un caractère générique qui fera en sorte que la vue réponde à toute valeur appliquée dans l'URL qui correspond à ce format.

  2. Configurez votre écran et les filtres souhaités.

  3. Définissez une relation (troisième colonne de la page de l'interface utilisateur de vue) et définissez-la sur le terme de taxonomie: parent. Cela indique à la vue de regarder le champ parent dans chaque terme de taxonomie recherché. (Notez que Drupal inclut un champ pour chaque terme qui identifie son parent, mais pas ses frères et sœurs ou ses enfants).

  4. Ensuite, nous demandons à la vue d'interpréter le caractère générique à partir de l'URL que nous avons utilisée dans le chemin de la vue: Définissez un filtre contextuel (au-dessus de la sélection de relation) et définissez-le sur une taxonomie: termID. Dans le formulaire, définissez la relation sur Parent dans la liste déroulante. Cela indique à View que le terme appelé dans l'URL sera appliqué en tant que filtre pour le champ «parent» des termes de taxonomie lors de leur recherche.

  5. Enfin, nous devons terminer d'affiner le filtre contextuel. Vous pouvez indiquer à la vue ce qu'il faut faire si elle ne trouve pas de réponse dans cette section du formulaire si vous le souhaitez, mais nous devons lui dire quoi faire si elle trouve des solutions dans la requête. Pour ce faire, cochez la case de validation. Définissez le terme Validator sur Taxonomy et sélectionnez le vocabulaire qui s'applique à votre hiérarchie. Sélectionnez ensuite l'ID du terme ou le nom du terme converti en ID du terme comme type de valeur de filtre. Si la valeur que vous passez dans le% est un ID de terme, alors vous avez terminé. Si la valeur transmise est un nom de terme, vous pouvez cocher la case pour convertir les tirets en espaces. SI vous avez plusieurs noms de termes, l'URL aura des tirets qui ne correspondent pas aux espaces réels dans le nom du terme. Cette petite correction les fait accepter donc un test réussit.

  6. Enfin, allez dans la zone d'aperçu et entrez le nom ou l'ID d'un terme que vous connaissez a des enfants et vous devriez obtenir la liste des termes enfants. Utilisez les paramètres de tri pour les organiser dans l'ordre que vous souhaitez.

Bonne chance!

Pierre de taille
la source
Bonjour Ashlar, merci pour cette explication. Savez-vous pourquoi le terme de taxonomie: parent n'apparaît pas dans la liste des relations?
znat
2
L'identité du parent est un champ du terme de taxonomie et le champ est «pid». Il y est stocké comme référence de numéro de terme, il est donc déjà là, mais uniquement comme référence.
Ashlar
1
Je trouve «Terme de taxonomie: Terme parent» dans Relations, mais je ne peux pas ajouter l'ID parent dans la section «Champ». Je veux montrer une table avec le parentID dans une colonne (si elle existe).
Nic
8

J'ai également archivé cette vue d'utilisation, mais de manière légèrement différente, comparez Ashlar.

  1. Ajouter un terme de taxonomie: ID de terme dans FILTRES CONTEXTUELS.
  2. Ajouter un terme de taxonomie: terme parent dans les RELATIONS. (laissez Exiger cette relation non cochée.)
  3. Ajouter un terme de taxonomie: terme parent dans la section filtre. sélectionnez supérieur à 0 .
  4. n'oubliez pas de filtrer votre terme taxnonmy dans le vocabulaire taxinomique mycase: nom de la machine (= répertoire d'entreprise).

  5. ajouter un terme de taxonomie: terme de taxonomie rendu à vos champs, sélectionnez la relation avec le parent , cochez la case Exclure de l'affichage.

  6. Dans le réglage, sous la section FORMAT. Dans le champ de regroupement 1, sélectionnez (Parent) Terme de taxonomie: Terme de taxonomie rendu .

Tu devrais bien y aller. vous pouvez utiliser view tpl pour ajouter plus de base de classe sur le groupe. J'ai joint ma capture d'écran pour les références. Désolé pour mon anglais.

entrez la description de l'image ici

louieliu
la source
N'a pas travaillé pour moi. Affiche tous les termes de taxonomie de niveau inférieur.
Riki137