Zeigt den Taxonomienamen für Kontextfilter an

106

Ich füge einer Ansicht einen Kontextfilter für einen benutzerdefinierten Inhaltstyp mit einem Taxonomiefeld hinzu. Mit dem Kontextfilter kann ich nach der Taxonomie-Tag-ID, aber nicht nach dem Taxonomie-Tag-Namen filtern. Bedeutung mit den angegebenen Tags in der Taxonomie:

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

Ich kann ein Kontextfilter erzeugen , die eine URL analysieren mögen http://mydrupal/myview/3alle Inhalte anzuzeigen , die mit getaggt wurde taggyBUT, die URL das Argument übergeben muss von Tag - Nachschlag Namen anstelle von Tag - ID , zum Beispiel http://mydrupal/myview/taggyalle Inhalte mit dem Stichwort anzuzeigen taggyWie kann das erreicht werden?

powers1
quelle

Antworten:

156

Ich gehe davon aus, dass Sie den Content: Has taxonomy term IDKontextfilter hinzugefügt haben . Mit diesem Filter können Sie Taxonomiebegriffsnamen verwenden, indem Sie die Specify validation criteriaEinstellungen anpassen . Hier ist ein Screenshot:

Bildschirmfoto

Stellen Sie sicher, dass Specify validation criteriadas Kontrollkästchen aktiviert ist und Sie weitere Optionen erhalten. Unter Validatorwählen Sie Taxonomy term. Sie können optional mit Vokabeln auswählen, um zuzulassen. Aktivieren Filter value typeSie unter Term name converted to Term IDAuswählen das Transform dashes in URL to spaces in term name filter valuesKontrollkästchen.

rocketeerbkw
quelle
6
Ehrlich gesagt ist dies für taxonomische Begriffe nicht sehr intuitiv. Diese Antwort hat mir geholfen, ein einwöchiges Problem zu lösen. :)
PhiloSurfer
brillant! Vielen Dank für die detaillierte Lösung. Ich hätte das nie alleine herausgefunden.
Uwe
1
Das war eine große Hilfe. Vielen Dank. Wenn Sie jedoch mehrere durch + getrennte Taxonomiebegriffe übergeben, funktioniert dies nicht. Oder besser gesagt, ich denke, es benutzt und Und anstelle eines Oder.
2
Beachten Sie Folgendes: Wenn Sie versucht haben, eine Ausdrucks-ID über ein Kontextargument für das Bedienfeld-Ansichtsfenster zu übergeben und dies dann versuchen, führt das Festlegen des Kontextarguments dazu, dass der Kontextfilter nicht den Standardwert bereitstellt. Wieder dieses "Kontextargument", das sich vom "Kontextfilter" und seinem Standardwert unterscheidet. War für ein paar Minuten eher verwirrt ...!
Endrew
@rocketeerbkw Sie haben die AND / OR-Syntax rückwärts! Es macht irgendwie Sinn, wie Sie es geschrieben haben, aber es ist nicht richtig.
DoubleJosh
6

Ein anderer Weg, die Katze zu häuten:

Ich benötigte die eigentliche Abfrage des Taxonomiebegriffsnamens, die nicht in die Begriffs-ID konvertiert werden konnte.

So fragen Sie den Taxonomiebegriffsnamen ab, der als Kontextfilter übergeben wurde:

Um den Namen zu erhalten, müssen Sie eine Beziehung entweder im Feld oder in der generischen Taxonomiebeziehung hinzufügen. Anschließend können Sie beliebige Felder für diesen Begriff als Kontextfilter hinzufügen, einschließlich des Namens.

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

Ben LeDuc
quelle