Wie übergebe ich den Views-Kontextfilter per URL?

18

Ich möchte über Kontextfilter in der URL einige Werte an meine Ansicht übergeben. Welche GET-Namen verwende ich? Es scheint keinen Anhaltspunkt zu geben, nur dieses "Die kontextbezogenen Filterwerte werden von der URL bereitgestellt".

Wie finde ich heraus, welche GET-Variablennamen ich übergeben muss, damit sie erkannt werden, wenn ich diese URL erstellen muss?

giorgio79
quelle

Antworten:

13

Kontextfilter werden nicht in separaten Variablen übergeben, sondern sind Teil des Pfads. Wenn Ihr Ansichtspfad xxx / yyy lautet und ein Filterwert von nn vorliegt, lautet der Pfad xxx / yyy / nn.

Alfred Armstrong
quelle
1
+1. und diese xxx / yyy-Reihenfolge ist dieselbe, die Sie unter "Kontextfilter" in der Ansichts-Benutzeroberfläche sehen können.
AyeshK
12

Verwenden Sie Standardwert im Kontextfilter bereitstellen.

Kontextfilter

Sie können auch PHP-Code verwenden, um den Wert von der URL zu erhalten

Bildbeschreibung hier eingeben

Sibiraj PR
quelle
1
Haben Sie ein Beispiel für den PHP-Code, den man verwenden könnte? Vielen Dank!
Petergus
Es hängt mit diesem Feld zusammen. Zum Beispiel: - Ist dies ein Zahlenfeld, dann - gebe 1 zurück; oder geben Sie $ user-> uid zurück; etc ..... wird funktionieren.
Sibiraj PR
Gibt es diese Optionen für den Fall, dass der Wert nicht in der URL enthalten ist? Wie wird der als Parameter gesendete Wert gemessen?
pal4life
Es ist nie eine gute Praxis, PHP-Code in Ihrer Datenbank zu haben, immer Ihren Code in Dateien zu machen und sie in einem Code-Revisionssystem zu
speichern
5

Wenn Sie Argumente über GET in der URL übergeben möchten, können Sie hierfür das BEF- Modul verwenden.

Beispielsweise: mydomain.com/your-view-path?field_a=valuea&field_b=valueb

Bei besser belichteten Filtern müssen Sie belichtete Filter hinzufügen (nicht kontextbezogene Filter). Aktivieren Sie die Option zum Belichten dieses Filters, und der Name der GET-Variablen wird in weiteren Optionen angezeigt. Wenn Sie den Filter nicht anzeigen möchten, können Sie ihn in den Einstellungen für besser belichtete Filter ausblenden.

Vergessen Sie nicht, die Option "Ajax verwenden" zu aktivieren, wenn Ihre Ansicht eine Blockanzeige ist.

Die Einstellung für den belichteten Filterstil muss für "Besser belichtete Filter" anstelle von "Einfach" festgelegt werden.

Es ist sehr nützlich mit Ansichtsblöcken.

almoraleslopez
quelle