Jakie są relacje i argumenty w widokach? Jak z nich korzystać? Przeczytałem kilka samouczków, ale nadal nie wiem, jak ich używać. Czy ktoś może je wyjaśnić jaśniej? Dziękuję Ci.
Relacje to sposób, w jaki widoki wyrażają sprzężenia SQL . Na przykład podczas przeglądania węzła możesz dodać relację do jego autora, pobierając jeszcze więcej danych.
Argumenty zostały zmienione na „Filtry kontekstowe” w widokach 7.x – 3.x, co jest lepszą nazwą. Zasadniczo jest to filtr, który pobiera dane wejściowe ze strony albo przez adres URL strony, albo przeglądany węzeł lub użytkownik itp.
Argumenty (lub, jak wspomniano, filtry kontekstowe) są niezwykle potężnym narzędziem zwiększającym świadomość kontekstu widoków. Oprócz użycia bieżącego węzła, terminu taksonomii, ścieżki itp. Do filtrowania danych, możesz używać argumentów Views w połączeniu z modułem Panele do tworzenia naprawdę złożonych układów strony. Stopień, w jakim możesz to zrobić za pomocą samych widoków, różni się jednak w zależności od tego, czego chcesz.
Powiedzmy, że chcesz, aby użytkownik, który idzie do / category / books /, zobaczył wszystkie węzły lub typ zawartości „book”, ale kiedy otworzy / category / malbum /, powinien zobaczyć wszystkie węzły typu „album” (lub otagować na przykład taksonomia („album”). Bez filtrów kontekstowych należy utworzyć dwa osobne widoki. Ale jeśli dodasz ścieżkę, termin taksonomii lub cokolwiek innego, co użyjesz do oznaczenia węzła jako „książki” jako argumentu, możesz stworzyć pojedynczy widok, który robi to wszystko ORAZ, który uwzględnia przyszłe kategorie.
Z relacjami robi się jeszcze lepiej. Każda książka / album ma „autora”. Jeśli chcesz dodać, powiedzmy, wiek autora do widoku, nie możesz tego zrobić bez relacji, ponieważ „wiek” jest częścią węzła autora, a nie węzła książki. W takim przypadku tworzysz relację, a następnie możesz dodać pole „wiek” z typu zawartości autora, tak jakby to było pole w węźle książki.
Szczegóły tego, jak to zrobić, wyjaśniono w wielu artykułach i filmach, ale mam nadzieję, że pomoże to lepiej zrozumieć.