Nom de taxonomie des filtres contextuels de vues

106

J'ajoute un filtre contextuel à une vue pour un type de contenu personnalisé comportant un champ de taxonomie. Le filtre contextuel me permet de filtrer par l'ID de balise taxonomie mais pas par le nom de balise taxonomie. Signification avec les balises données dans la taxonomie:

1  | test1
2  | another tag
3  | taggy
......
99 | coolness

Je peux générer un filtre contextuel qui analysera une URL comme http://mydrupal/myview/3afficher tout le contenu qui a été marqué avec taggyBUT, l'URL doit passer l'argument à rechercher par nom de balise plutôt que par ID de balise , par exemple, http://mydrupal/myview/taggypour afficher tout le contenu étiqueté avec taggyComment peut-on cela soit accompli?

pouvoirs1
la source

Réponses:

156

Je suppose que vous avez ajouté le Content: Has taxonomy term IDfiltre contextuel. Vous pouvez utiliser les noms de termes de taxonomie avec ce filtre en ajustant les Specify validation criteriaparamètres. voici une capture d'écran:

Capture d'écran

Assurez-vous que cette Specify validation criteriacase est cochée et vous devriez avoir plus d'options. Sous Validatorchoisir Taxonomy term. Vous pouvez éventuellement sélectionner des vocabulaires à autoriser. Sous Filter value typechoisissez Term name converted to Term IDet cochez la Transform dashes in URL to spaces in term name filter valuescase.

rocketeerbkw
la source
6
En toute honnêteté, ce n’est pas très intuitif pour la taxonomie. Cette réponse m'a aidé à résoudre un problème d'une semaine. :)
PhiloSurfer
brillant! Merci beaucoup pour la solution détaillée. Je n'aurais jamais compris cela seul.
uwe
1
C'était une grande aide. Merci. Cependant, il semble que si vous passez plusieurs termes de taxonomie séparés par des signes +, cela ne fonctionne pas. Ou plutôt, je pense qu'il utilise et Et au lieu d'un Or.
2
À noter - si vous avez tenté de transmettre un ID de terme via un argument de contexte du volet de vue Panneaux, puis essayez, le jeu d'arguments de contexte empêche le filtre contextuel de fournir la valeur par défaut. Encore une fois, cet "argument de contexte", qui est différent de "filtre contextuel" et de sa valeur par défaut. Était plutôt confus pendant quelques minutes ...!
aendrew
@rocketeerbkw Vous avez la syntaxe AND / OR à l'envers! C'est un peu logique, comme vous l'avez écrit, mais ce n'est pas correct.
DoubleJosh
6

Une autre façon de peler le chat:

J'avais besoin de la requête de nom de taxonomie réelle ne convertissant pas en identifiant de terme.

Voici comment interroger le nom du terme de taxonomie transmis en tant que filtre contextuel:

Pour obtenir le nom, vous devez ajouter une relation, sur le champ ou la relation de taxonomie générique. Ensuite, vous pouvez ajouter des champs pour ce terme en tant que filtre contextuel, y compris le nom.

https://www.drupal.org/node/1156022#comment-4469378

Ben LeDuc
la source