Wyświetla filtry kontekstowe nazwa systematyki

106

Dodam filtr kontekstowy do widoku dla niestandardowego typu zawartości, który ma pole taksonomii. Filtr kontekstowy pozwala mi filtrować według identyfikatora znacznika taksonomii, ale nie według nazwy znacznika taksonomii. Znaczenie z podanymi znacznikami w taksonomii:

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

Mogę wygenerować filtr kontekstowy, który przeanalizuje adres URL, na przykład w http://mydrupal/myview/3celu wyświetlenia całej treści, która została oznaczona taggyALE, adres URL musi przekazać argument w celu wyszukania według nazwy znacznika zamiast identyfikatora znacznika , np. http://mydrupal/myview/taggyAby wyświetlić całą treść oznaczoną za taggypomocą należy to osiągnąć?

uprawnienia 1
źródło

Odpowiedzi:

156

Zakładam, że dodałeś Content: Has taxonomy term IDfiltr kontekstowy. Z tym filtrem można używać nazw terminów taksonomicznych, dostosowując Specify validation criteriaustawienia. oto zrzut ekranu:

Zrzut ekranu

Upewnij się, że Specify validation criteriajest zaznaczone i powinieneś zobaczyć więcej opcji. Poniżej Validatorwybierz Taxonomy term. Możesz opcjonalnie wybrać słowniki, aby zezwolić. Pod Filter value typewybierz Term name converted to Term IDi zaznacz pole Transform dashes in URL to spaces in term name filter valueswyboru.

rocketeerbkw
źródło
6
szczerze mówiąc, nie jest to bardzo intuicyjne pod względem taksonomicznym. Ta odpowiedź pomogła mi rozwiązać tygodniowy problem. :)
PhiloSurfer
znakomity! Wielkie dzięki za szczegółowe rozwiązanie. Nigdy bym tego nie rozgryzł.
uwe
1
To była wielka pomoc. Dzięki. Wydaje się jednak, że jeśli przekazujesz wiele terminów taksonomii oddzielonych znakami +, to nie działa. A raczej myślę, że używa i I zamiast Or.
2
Warto zauważyć - jeśli próbujesz przekazać identyfikator terminu za pomocą argumentu kontekstowego panelu widoku Panele, a następnie spróbujesz tego, ustawienie argumentu kontekstowego spowoduje, że filtr kontekstowy nie poda wartości domyślnej. Znów ten „argument kontekstowy”, który różni się od „filtru kontekstowego” i jego wartości domyślnej. Byłem raczej zdezorientowany przez kilka minut ...!
aendrew
@rocketeerbkw Masz składnię AND / OR wstecz! To trochę ma sens, jak to napisałeś, ale nie jest właściwe.
doublejosh,
6

Inny sposób na skórowanie kota:

Potrzebowałem rzeczywistej kwerendy nazwy terminu taksonomii, która nie przekształca się w identyfikator terminu.

Oto jak wykonać zapytanie dotyczące nazwy terminu systematyki, która została przekazana jako filtr kontekstowy:

Aby uzyskać nazwę, musisz dodać relację na polu lub ogólną relację taksonomiczną. Następnie możesz dodać dowolne pola dla tego terminu jako filtr kontekstowy, w tym nazwę.

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

Ben LeDuc
źródło