W D7 udało mi się przefiltrować widok według nazwy terminu systematyki pobranej z adresu URL. Przykładem może być ten adres URL
http://www.gbyte.co/tags/drupal-planet/rss.xml
„Drupal-planet” zostałby przekonwertowany na identyfikator terminu taksonomii, który następnie odpowiednio odfiltrowałby wyniki widoku.
Teraz skonfigurowałem odpowiedni widok D8 z filtrem kontekstowym „Treść: Tagi (znaczniki_pola)”, przy czym znaczniki_pola są polem taksonomii. Jednak widok D8 pokaże wyniki tylko wtedy, gdy przekażę rzeczywisty identyfikator terminu do adresu URL w następujący sposób:
http://www.gbyte.co/tags/9/rss.xml
Chciałbym, aby działał również z nazwą nazwa, tak jak zrobił to D7. Brakuje funkcji lub czy muszę inaczej skonfigurować widok?
views
taxonomy-terms
8
gbyte.co
źródło
źródło
Odpowiedzi:
Nazwa Term konwertowane do Term ID filtrujących wygląda, że brakuje dla D8 Views.
Jednym z obejść konstruktora witryny jest dodanie relacji , warunków taksonomii w węźle, a następnie dodanie terminu taksonomii: Filtr nazw do filtrów kontekstowych przy użyciu wyżej wspomnianej relacji. Zaznaczając pole wyboru Określ kryteria walidacji , ustaw Walidator na nazwę Taksonomia i zaznacz odpowiednią Taksonomię do filtrowania.
źródło
{{ arguments.name }}
w ustawieniach filtra kontekstowego.w Drupal 8 Sprawdź ten moduł Widoki Taksonomia Termin Nazwa Głębokość
Ten moduł zapewnia wtyczkę do filtra kontekstowego, jak na przykład następujący obraz ...
źródło
Dla uzupełnienia, w momencie pisania pytania udało mi się obejść ten problem, konwertując nazwę terminu systematyki z adresu URL na identyfikator terminu w views_hook_pre_view (), a następnie wykorzystując go jako dane wejściowe dla filtru kontekstowego który akceptuje identyfikatory taksonomii.
Oto kod haka widoków:
źródło
Aby rozwinąć odpowiedź Shawna Conna:
Mam nadzieję, że to pomaga!
źródło
Nie wiem, czy nadal masz ten problem, ale udało mi się utworzyć relację dla „Taksonomii terminów w węźle” przy użyciu pożądanego słownika taksonomii, a następnie utworzyć filtr kontekstowy przy użyciu tej relacji dla „Taksonomii: Nazwa”, która pozwala do weryfikacji na podstawie nazwy zamiast TID.
źródło
@kiethm podał prawidłowy sposób podejścia do tego - w filtrach kontekstowych musisz wybrać „Nazwa”, a nie „Identyfikator terminu taksonomii”, a następnie ustawić kryteria walidacji, aby użyć „Nazwy terminu taksonomii” .
źródło
Hej, szukałem tej odpowiedzi od jakiegoś czasu. Dla każdego takiego jak ja, który szuka sposobu, aby to zadziałało, po raz pierwszy udało mi się osiągnąć sukces, częściowo dzięki wynikom drupal.org, a następnie: http://redcrackle.com/blog/adding-contextual-filter -view-drupal-8
Używam Drupal 8 i Zircon. Jestem nowy, więc mogę używać niewłaściwych terminów. Chciałem utworzyć kontekstowe linki do obrazów w „Panel pierwszy kol. 1” na podstawie kategorii strony, na której ktoś jest. To, co zrobiłem, to przejdź do Struktura> Widoki> Karuzela (widok, który zawiera zdjęcia w tym regionie bloku)> Zaawansowane> Dodaj według filtrów kontekstowych> Ma identyfikator terminu taksonomii> wybierz w Podaj wartość domyślną: Identyfikator terminu taksonomii z adresu URL (który utworzył nie ma dla mnie sensu, ale cokolwiek)> wtedy zaznaczyłem wszystkie trzy pola: Załaduj domyślny filtr ze strony terminów, Załaduj domyślny filtr ze strony węzłów, to jest dobre dla powiązanych bloków taksonomii, Ogranicz terminy według słownictwa. Następnie dla Vocabularies sprawdziłem Kategorie.
PHEW! Wreszcie! Dziękuję wam wszystkim za skierowanie mnie we właściwym kierunku! Nie mogłem wyjaśnić, dlaczego to działa, ale cokolwiek to działa i będę nadal zatrudniony.
źródło
Napisałem mały moduł, aby przywrócić brakującą funkcjonalność i przywrócić ją do prawidłowego działania:
https://www.drupal.org/project/views_taxonomy_term_name_into_id
Ponownie dodaje walidator argumentu „Konwertuj nazwę terminu na identyfikator” dla terminów taksonomicznych używanych w „filtrach kontekstowych” w widokach. Zobacz stronę projektu, aby uzyskać więcej informacji i instrukcji.
Enjoy, -Derek (dww)
źródło
Możesz to zrobić, dodając treść: ma identyfikator terminu taksonomii w filtrze kontekstowym, a następnie możesz użyć taksonomii w kontekście kontekstowym, dostosowując kryteria filtru
źródło
Osiągnąłem to w Drupal-8, stosując filtr kontekstowy: „Taksonomia: Nazwa”
Następnie podaj wartość domyślną Typ Taksonomia Termin ID Z adresu URL
Następnie określ następujące kryteria weryfikacji:
źródło