J'ai un vocabulaire structuré comme suit:
Comment filtrer la vue pour n'afficher que les termes racine du vocabulaire? Actuellement, ma vue affiche les termes racine ainsi que les enfants (Terme * *)
À partir de là, je voudrais passer l'argument "Root Alpha" (ou son contenu, ou quoi que ce soit à partir d'un contexte), puis le filtrer uniquement sur les "enfants directs de Root Alpha". (Terme Alpha *). Un filtrage plus approfondi que cela serait un bonus.
Je peux le faire fonctionner si je mets tous mes termes en un seul terme racine pour que le vocabulaire devienne:
Je ne sais pas quelle structure de vocabulaire est la plus correcte, l'écriture de cela m'a fait réaliser que j'avais une lecture à faire en plus de comprendre cela avec des vues.
Pour afficher uniquement les termes racine, j'ai une solution qui fera sûrement quelqu'un facepalm (au moins je l'ai fait):
Sélectionnez Terme de taxonomie: terme parent .
Configurez-le comme ceci: Lorsqu'une valeur de filtre n'est pas disponible : Fournissez la valeur par défaut - Valeur fixe . Définissez la valeur sur .
Ouais, c'est tout. Les termes sans parent ont 0 ici. Voir la description du champ parent de la table taxonomy_term_hierarchy:
Clé primaire: {taxonomy_term_data} .tid du parent du terme. 0 indique aucun parent.
si vous avez une structure de taxonomie statique, vous pouvez filtrer à l'aide de filter criterion: Content: Has taxonomy terms (with depth)
à cet endroit, vous pouvez sélectionner uniquement les termes racine à filtrer:
J'espère que les informations seront utiles.
Vous pouvez également le faire avec un simple filtre et une structure de taxonomie non statique:
Il n'affichera que les termes racine de votre taxonomie et fonctionnera toujours si vous modifiez la structure de la taxonomie ultérieurement ...
Vous pouvez le sélectionner avec WHERE parent = 0
En utilisant db_query()
dans votre page.