Mam słownictwo związane z typem treści. Można wybrać tylko jeden termin, aby sklasyfikować węzeł utworzony z tego typu treści. Słownictwo nazywa się Pojazdy i zawiera terminy „samochody, ciężarówki, łodzie”. Typ zawartości jest również nazywany Pojazdy.
Używam path auto, aby wyświetlał [słownictwo: nazwa] / [termin: nazwa], więc po renderowaniu pokaże na przykład site.com/vehicles/trucks, który pokaże wszystkie ciężarówki ... typowe rzeczy Drupala .. Dobrze...
Teraz mam Widok, który jest stroną ze ścieżką „pojazdy”. Skonfigurowano wyświetlanie wszystkich elementów typu „pojazdy”. To wyświetlenie strony jest również skonfigurowane tak, aby przyjmować argument „identyfikator terminu systematyki”.
Zauważ, że gdy obecny jest termin taksonomia, alias URL generowany dla ścieżki taksonomii jest dokładnie taki sam jak na stronie Widoki z podanym argumentem:
URL Aliasowana ścieżka systematyki = pojazdy / ciężarówki. Strona wyświetleń z argumentem = pojazdy / ciężarówki.
To celowo. Moim celem było pokazanie wszystkich wyników tego typu treści, gdy argument nie był obecny, a kiedy był obecny, najważniejsze byłoby filtrowanie wyników na podstawie tego terminu taksonomii ORAZ zachowanie tych samych pól i struktury, jak bez argumentu (takie same jak site.com/vehicles).
Problem polega na tym, że to nie działa zgodnie z oczekiwaniami. site.com/vehicles poprawnie pokazuje mój widok i powiązane filtry. site.com/vehicles/trucks pokazuje tylko zwykłą, nieformalną listę taksonomii dostarczoną przez Drupal.
Czy to dlatego, że argument ID terminu taksonomii nie jest poprawnie skonfigurowany?
Czy to kwestia wagi, gdy haki taksonomiczne strzelają po widokach? Jeśli tak, to w jaki sposób mogę zmienić tutaj ciężary, aby działały poprawnie i dawały mi potrzebne rezultaty?
Wiem, co masz zamiar zasugerować - że widoki mają widok taksonomii / terminu /%, który zastępuje domyślne widoki drupala.
Jednak w moim przypadku to nie zadziała. Mam wiele typów treści, każdy z własnym słownictwem, każdy z widokiem i odrębnym zestawem pól (na przykład domy i samochody mają bardzo różne zestawy pól). Taksonomia / termin /% działałaby, gdyby wszystkie typy treści miały takie same pola, to mogłem po prostu naśladować te w tym zastąpieniu, ale skoro tak nie jest, w jaki sposób mogę poprawnie uzyskać ścieżkę z argumentem pokazującym wyniki na podstawie ten termin słownictwa i zachować moją strukturę pola?
Przepraszam, jeśli to było mylące. Link do strony w celach informacyjnych http://www.buyagainbaby.com . Witryna obecnie używa taksonomii / terminu /% jako nadpisania, ale znowu to musi się zmienić, aby każdy widok był odpowiedzialny za to, jak renderuje swój zestaw wyników na podstawie taksonomii.
źródło
Uważam, że w konfiguracji należy wziąć pod uwagę kilka czynników:
Każda ścieżka musi być unikalna, aby uzyskać dostęp do strony, terminu, widoku lub panelu strony. Jeśli masz dwa elementy o tym samym adresie, tracisz kontrolę nad wyświetlaniem. Drupal daje pierwszeństwo terminowi taksonomii nad widokami, więc nie zostanie nazwany. Definicja widoku wykorzystująca taksonomię / termin / # przechwyci termin taksonomii, ale jak wskazałeś, nie wyświetla sensownego adresu URL.
Widoki nie reagują na aliasy. Dzieje się tak, ponieważ pierwszą rzeczą, którą Drupal robi z dowolnym żądaniem, jest konwersja aliasu do standardu formatu węzła / nid dla całej zawartości Drupala. Tak więc w twoim przypadku pojazdy / ciężarówki są konwertowane na węzeł / # przypisany do widoku. Widok nie może pobierać kontekstu bezpośrednio z aliasu.
Aby uzyskać to, co chcesz, wykonaj jedną z kilku rzeczy.
Utwórz menu z wywołaniami zwrotnymi ustawionymi na ścieżkę widoku. Spowoduje to wygenerowanie poprawnego adresu URL i pozwoli widokowi odpowiedzieć.
Używaj paneli z włączonym Page Managerem (w Ctools Suite). Jeśli zdefiniujesz Panel strony zdefiniowany dla odpowiedniego adresu URL, możesz umieścić swój Widok w panelu panelu lub przekazać kontekst ze strony panelu bezpośrednio do panelu zawartości Widoki. Okienko treści nie ma ścieżki. Zamiast tego bierze konteksty, takie jak ścieżka, ustawiona bezpośrednio przez panel strony, aby utworzyć jego zawartość. Ta seria filmów w nodeone.se doskonale pokazuje, jak skutecznie korzystać z paneli i menedżera stron.
Innym sposobem na uzyskanie zawartości wyświetleń na ekranie jest użycie modułu szybkich tabel . Nie sądzę, żeby pasowało to do konkretnej sytuacji, ale może również bezpośrednio sięgać do widoków, wybierając zakładki zdefiniowane dla strony.
źródło
Widoki mają wbudowany widok, który emuluje i zastępuje warunki taksonomiczne. Po prostu włącz tę opcję, aby zastąpić wykazy taksonomii widokami.
źródło
Zrobiłem podobnie kilka dni temu. Moje rozwiązanie nie jest eleganckie, ale działa. Zrobiłem to, aby zastąpić wyświetlanie terminów taksonomii przy użyciu paneli, a nie widoków. Następnie dodałem wszystkie moje różne widoki dla każdego terminu do obszaru zawartości Panele. Ponieważ w moim przypadku każdy widok ma filtr, który ogranicza go do wyników określonego słownictwa, podczas odwiedzania strony terminów taksonomii pokazuje tylko widok tego konkretnego słownictwa.
Daj mi znać, jeśli potrzebujesz więcej informacji o tym, jak to zaimplementowałem.
źródło
WebbyKat zaproponował świetne rozwiązanie , aby ustawić ścieżkę strony
/taxonomy/term/%
zamiast/categories/%
Działa, ale przerwie wszystkie Twoje warunki w jeden Widok.
źródło