Views 3 Taxonomy Term aus URL in TID konvertieren

BLOG

Ein recht simples Problem, mit mehreren komplexen und einer, hier beschriebenen, einfachen Lösung.

Man hat eine View, entweder als Page, Block oder Panel eingebunden welche nach in der URL wechselnden Taxonomy Terms wechseln soll.

Die einfachste Lösung bietet sich hier direkt in Views an, ohne extra Module oder preprocess und query_alter hooks.

 

1. Fügt euer Referenz-Feld als Contextual Filter hinzu, dabei ist es egal ob Taxonomy Reference, Entitiy Reference o.a.

2. Die Quelle eurer Taxonomy ID hängt ganz von eurer View ab, in diesem Beispiel ist es ganz einfach "Content ID from URL"

3. Macht einen Haken bei Specify validation criteria, womit weitere Optionen aufklappen sollten.

4. Als Validator wählt ihr Taxonomy term

5. Die Auswahl ein oder mehrere Vocabularies ist zu empfehlen, da ansonsten alle Taxonmien mit einbezogen werden.

6. Bei Filter value type wählt ihr Term name converted to Term ID

7. Wichtig ist auch der Haken bei "Transform dashes in URL to spaces...", sonst werden Terms mit leerzeichen in eurem Filter nicht funktionieren

 

... und fertig ist der Spaß.

Interessanterweise wird hier kein JOIN dem Views-Query hinzugefügt sondern ein seperater Query konvertiert zunächste den Taxonomy Term und gibt übergibt dann der View die TID.