Za pomocą innego pytania: Pokaż najnowsze węzły dla każdego terminu taksonomii w widokach, które udało mi się utworzyć, którego potrzebuję, poza tym, że wyświetla wszystkie posty dla każdego terminu (pogrupowane według terminu)? Jak ograniczyć każdy termin, aby wyświetlał tylko 3 swoje najnowsze posty.
na przykład
Termin 1
- Post 1
- Post 2
- Post 3
Termin 2
- Post 1
- Post 2
- Post 3
Termin 3
- Post 1
- Post 2
- Post 3
źródło
Po dalszych badaniach wydaje się, że Podsumowanie wglądu może być dokładnie tym, czego chcesz. Zrzuty ekranu w dokumentacji dotyczą Drupala 6, a nieco inaczej w Drupal 7, więc dołączyłem kilka zaktualizowanych zrzutów ekranu.
Będziesz musiał edytować pager dla każdej grupy, którą chcesz ograniczyć, co jest niefortunne.Podczas edycji pagera dla jednej grupy zmienia się ustawienia dla wszystkich grup. Jeśli chcesz wyświetlić liczbę węzłów na grupę inną niż łączna liczba grup, przesłon to w ustawieniach „Format” w „Filtrach kontekstowych” (na pierwszym zrzucie ekranu w kolorze fioletowym).Ma tę wadę, że zasadniczo tworzy [n] widoki dla [n] grup, co może być problemem z wydajnością w zależności od liczby posiadanych grup, ale ogranicza zapytanie tylko do liczby ustawionej do wyświetlenia. Może to poprawić wydajność w zależności od przypadku użycia. Jak zawsze odpowiedzialnie buforuj.
źródło
Sposobem na ograniczenie tego w kodzie byłoby dodanie do modułu niestandardowego czegoś takiego:
Jest to widok warunków taksonomicznych, które są połączone z węzłami za pomocą relacji. Jeśli masz tylko widok węzłów, Twój przebieg może się różnić.
Chociaż zapobiega wyświetlaniu więcej niż 3 na termin, nie zapobiegnie to zwróceniu przez kwerendę wszystkich wyników dla każdego terminu, więc w ogóle nie poprawi wydajności SQL. Jeśli masz bardzo dużą liczbę wyników dla każdego terminu, tworzenie oddzielnych paneli widoku i umieszczanie ich wszystkich w jednym regionie za pomocą czegoś takiego jak CTools Page Manager , abyś nie uruchamiał wielkich zapytań.
Jak zawsze, będziesz chciał buforować te rzeczy podczas produkcji.
źródło
Hook_views_pre_build()
lubhook_build_pre_execute()
może być przydatny do czegoś takiego, co zmniejsza wydajność, ale nie znam się na nich tak dobrze. Lub może spodobała Ci się moja odpowiedź na to pytanie .