2009-01-07 10 views
8

J'ai créé une vue avec un ensemble de filtres exposés (pour afficher les options de filtrage dans la page). Et l'un de ces filtres est un champ sélectionné avec tous les termes de taxonomie d'un vocabulaire.Comment afficher uniquement les termes de taxonomie avec les nœuds associés dans les vues 2?

Ça va, ça se voit maintenant. Mais je veux seulement montrer les termes de taxonomie qui ont au moins un nœud associé. Pour éviter des résultats vides si vous sélectionnez un terme vide.

Quelqu'un sait comment faire cela?

Merci.

Répondre

1

Ce serait une fonctionnalité intéressante pour les Vues et vous devriez soumettre une demande de fonctionnalité aux mainteneurs pour cela. Malheureusement, vous ne pouvez pas le faire avec le code Views existant. Cependant, vous pouvez voir comment Views construit un contrôle de filtre dans son propre code source, et implémenter cette fonction vous-même et ajouter une vérification supplémentaire pour voir s'il y a des publications avec ce terme ou non, et ne pas afficher ce terme s'il n'y en a pas.

9

Solution dans les vues 3 (qui peut travailler dans les vues 2)

Définissez une relation en vue de rejoindre les termes aux noeuds (dans les vues 3 est le mot 'terme taxonomique: Contenu à terme)

Ensuite, dans les options Cochez « require cette relation » (ce qui exclut les termes sans nœuds)

cela peut produire des doublons, dans les vues 3 vous ouvrez les paramètres de la requête, et cochez Distinct (cela omettre les doublons)

+0

Cela fonctionne, mais n'a pas obtenu ce qui est mal avec les doubles emplois, n'a pas remarqué des problèmes. – Rantiev

+0

Excellente réponse! J'ai en effet dû utiliser Distinct pour empêcher la sortie du terme pour chaque noeud qui y fait référence. Merci beaucoup! – lmeurs

-1

Avec vues 3 e devient très simple en utilisant l'agrégation! Je poste cette relecture parce que j'ai passé beaucoup de temps à la découvrir. Tout est très bien expliqué dans ce screencast: http://dev.nodeone.se/en/the-aggregation-setting-the-emmajane-episode

+0

Bonjour et bienvenue sur StackOverflow. Êtes-vous sûr de pouvoir afficher les TERMES DE TAXONOMIE avec au moins un nœud étiqueté? L'agrégation, si elle est utilisée dans une vue de taxonomie, ne filtre pas les termes sans termes IMO. Mais dans une vue de nœud, il sera probablement –

1

Ceci est une manière plus simple. J'espère que cela aide.

Ajouter une relation, filtrer les termes et choisir "Terminologie taxonomique: Nœud représentatif". Cochez la case "exiger cette relation" et c'est tout. Cochez éventuellement "Paramètres de requête> Distinct" en cas de doublons.

Basé sur http://www.waldbeek.com/blog/view-taxonomy-term-and-hide-empty-terms

+0

Bien que ce lien puisse contenir une réponse, il est préférable d'inclure un bref résumé, plutôt qu'un simple lien. De cette façon, la réponse reste utile aux autres même si le lien se casse ou change. – Leigh

+0

Excellente méthode car elle prend en charge plus de paramètres que la réponse de l'utilisateur1191001. Je vous remercie! – lmeurs