Jak przekazać filtr kontekstowy Widoki przez URL?

18

Chcę przekazać niektóre wartości do mojego widoku za pomocą filtrów kontekstowych w adresie URL. Z jakich GET naImes korzystam? Wydaje się, że nie ma żadnych wskazówek, tylko to „Wartości filtru kontekstowego są dostarczane przez adres URL”.

Jeśli muszę skonstruować ten adres URL, jak mogę dowiedzieć się, jakie nazwy GET var muszę przekazać, aby zostały rozpoznane?

giorgio79
źródło

Odpowiedzi:

13

Filtry kontekstowe nie są przekazywane w osobnych zmiennych, są częścią ścieżki. Jeśli ścieżka widoku to xxx / rrr, to aby mieć wartość filtru nn, ścieżka to xxx / rrr / nn.

Alfred Armstrong
źródło
1
+1. a ta kolejność xxx / rrr jest taka sama, jak widać w okienku „Filtry kontekstowe” w interfejsie użytkownika Widok.
AyeshK
12

Użyj Podaj wartość domyślną w filtrze kontekstowym.

filtr kontekstowy

możesz także użyć kodu php do uzyskania wartości z adresu URL

wprowadź opis zdjęcia tutaj

Sibiraj PR
źródło
1
Czy masz jakiś przykład kodu PHP, którego można użyć? Dzięki!
petergus
Jest to związane z tym polem. Na przykład: - Czy jest to zatem pole liczbowe - zwraca 1; lub zwróć $ user-> uid; itp ... zadziała.
Sibiraj PR
Czy te opcje są dostępne, gdy wartość nie znajduje się w adresie URL? Jak będzie mierzyć wartość wysyłaną jako parametr?
pal4life
Nigdy nie jest dobrą praktyką mieć kod PHP w bazie danych, zawsze rób kod w plikach i zapisuj go w systemie weryfikacji kodu
lslinnet
5

Jeśli chcesz przekazać argumenty przez GET w adresie URL, możesz do tego użyć modułu BEF .

Na przykład: mydomain.com/your-view-path?field_a=valuea&field_b=valueb

W przypadku Better Exposed Filters musisz dodać filtry narażone (nie filtr kontekstowy), zaznacz opcję ujawnienia tego filtru, a nazwa zmiennej GET znajduje się poniżej w więcej opcji. Następnie, jeśli nie chcesz pokazywać filtra, możesz go ukryć w Ustawieniach lepszych filtrów narażonych.

Nie zapomnij włączyć opcji Użyj Ajax, jeśli widok jest blokowy.

Ustawienie stylu odsłoniętego filtra należy ustawić na Lepsze naświetlone filtry zamiast Podstawowego.

Jest to bardzo przydatne w przypadku bloków widoków.

almoraleslopez
źródło