web-dev-qa-db-fra.com

Comment montrer le terme de taxonomie parent et enfant?

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

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 d'accès configuré le long de cette ligne category/%. Le % est 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 Word, 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!

14
Ashlar

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

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

  5. ajoutez le terme de taxonomie: terme de taxonomie rendu à vos champs, sélectionnez la relation avec 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 rend.

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.

enter image description here

8
louieliu

Si vous souhaitez utiliser cette vue en tant que champ, vous pouvez créer une telle liste sans utiliser les vues, en utilisant le module Taxonomy Term Reference Filter by Views et vous pouvez spécifier le parent, afin que la liste puisse être filtré automatiquement.

0
kenorb