Jaka jest różnica między menedżerem stron a panelami?

31

Piszę to pytanie, ponieważ widzę zamieszanie w całej społeczności Drupal na temat „czym jest Page manager” i „czym jest panele”.

Letharion
źródło

Odpowiedzi:

48

Ctools

W Ctools istnieje podmoduł o nazwie „Menedżer stron”. Ten moduł, w swej istocie, jest graficznym interfejsem użytkownika do hook_menu . Pozwala ci albo tworzyć nowe ścieżki w systemie, albo przejąć niektóre z tych dostarczonych przez Core.

Menedżer stron

Gdy menedżer stron zarządza za Ciebie ścieżką, może z nią zrobić kilka różnych rzeczy. Po wyjęciu z pudełka może zapewniać przekierowania. Jednym z typowych przypadków użycia tego jest odmowa dostępu do węzłów, które nie mają odpowiedniego motywu, ponieważ nie są przeznaczone do samodzielnego przeglądania, takich jak „Fakty” lub „Węzły obrazów”. Innym jest przekierowanie z widoku terminu do wyszukiwania Solr tego samego terminu.

Jedną z głównych zalet Menedżera stron jest to, że wprowadza sposób radzenia sobie z „Kontekstem”, którego nie należy mylić z Kontekstem modułu . Kickerem tutaj jest to, że Panele, które są „nieco mądrzejszymi blokami”, mogą zadeklarować swoje zależności w systemie, i przekazują im rzeczywiste argumenty (zwane Kontekstami) w stylu wstrzykiwania zależności .

Dla tych, którzy nie są zaznajomieni z DI, ale znają Drupala, pozwala to na przykład nigdy więcej nie używać menu_get_object, aby uzyskać „Ten jedyny węzeł, do którego odwołuje się ścieżka menu”. Co jeśli na ścieżce jest więcej niż jeden węzeł? A jeśli naprawdę chcesz oprzeć blok na węźle z odwołania do encji? Staje się to problemem w przypadku Menedżera stron, dzięki czemu wszystkie bloki (panele) są znacznie bardziej elastyczne i można je ponownie wykorzystywać.

Panele

Najczęstszym przypadkiem użycia jest jednak przekazanie układu i renderowania ścieżki do paneli . Panele zapewniają narzędzia do definiowania układów, zarówno w kodzie, jak i bezpośrednio w przeglądarce, a także umożliwiają umieszczanie treści bezpośrednio w przeglądarce.

Wniosek

Oba te moduły są bardzo wydajne i stosunkowo słabo udokumentowane, co doprowadziło wiele osób do sfrustrowania ich. Zrozumienie, jak z nich korzystać to jednak warto, jeśli budujesz powiększeniu miejsce, zwłaszcza, że ich podejście do obsługi „stron”, a także układ, wygląda jak idą do Drupal 8 rdzeniu, dzięki uprzejmości EclipseGC „s inicjatywy SCOTCH . Odpowiedni projekt piaskownicy

Dalsza lektura

Przykłady innych interesujących rzeczy, które można zrobić za pomocą tych narzędzi:

  1. Jeśli Kontekst jest używany jako narzędzie do dzielenia , panele mogą pracować z nim w tandemie i być używane jako narzędzie do układania.
  2. Panele mogą wchodzić w interakcje z pakietem Display, aby zapewnić mu przyjemny interfejs przeciągania i upuszczania.
  3. Menedżer stron i administracja kontekstowa mogą pomóc w budowaniu wrażliwych menu „Kontekst” i innych przydatnych rzeczy dla administratorów / redaktorów witryny.
Letharion
źródło
3
Nigdy tak naprawdę nie rozumiałem / nie używałem menedżera stron - wspaniale jest wiedzieć, do czego (zasadniczo) służy. Dzięki za krótki napis!
Chapabu
2
$page_data = page_manager_get_current_page()tam, gdzie są pieniądze, szczególnie$page_data['handler']
mpdonadio
1

W Drupal 7 program Page Manager był podstawą paneli modułu .

Learn Page manager ” to ciekawy (i niesamowity) zestaw filmów. Zawierają różne tematy związane z modułem Panele . Oto podsumowanie całego zestawu filmów na ten temat (cytat z linku powyżej):

  • Menedżer stron pozwala zbierać i zarządzać informacjami kontekstowymi w elastyczny i spójny sposób. Jest to ważna część budowania infrastruktury na stronach internetowych Drupal i powinieneś wiedzieć, jak korzystać z tego modułu.
  • Seria screencastów skierowana jest do doświadczonych programistów Drupala.
  • Odcinki 1, 2 i 3 wprowadzają najbardziej podstawowe pojęcia, takie jak strony niestandardowe, warianty, reguły wyboru i (do pewnego stopnia) obiekty kontekstowe.
  • Odcinki 4, 5, 6 i 7 mówią o panelach, kładąc nacisk na integrację widoków, ale także kilka słów na efektywne buforowanie.
  • Odcinki 8 i 9 dotyczące kontroli dostępu, pozycji menu, a także mało znanego, ale bardzo przydatnego modułu Administracji kontekstowej.
  • Odcinki 10 i 11 mówią więcej o używaniu obiektów kontekstowych w Menedżerze stron, w tym o wykorzystywaniu widoków jako kontekstu. To jest, imho, prawdziwa siła w Menedżerze stron.
  • Odcinki 12 i 13 gromadzą różne elementy, takie jak korzystanie z paneli w celu łatwej zmiany formy edycji węzła, ustawienia importu / eksportu oraz niektóre dodatkowe moduły, których można używać z menedżerem stron.

Zobacz Wyjaśnianie paneli: przegląd dla programistów Drupala aby uzyskać inne świetne wyjaśnienie dotyczące modułu paneli.

Przyszłość programu Page Manager

W Drupal 8 Page Manager stał się oddzielnym modułem, podczas gdy poprzednio (aż do Drupal 7), był częścią modułu CTools . Oto kilka cytatów ze strony projektu (związanej z D8):

Obsługuje tworzenie nowych stron i umożliwia umieszczanie bloków na tej stronie.

Podobnie jak Menedżer stron Drupala 7, zapewnia koncepcję „wariantów strony”, z których każdy ma własne warunki wyboru.

Dodatkowo można go użyć do przejęcia istniejącej strony, takiej jak przesłanianie / node /%, aby zmienić to, co jest wyświetlane podczas przeglądania węzła.

Wykorzystuje ona rdzenia Conditions, Contextoraz BlocksAPI do osiągnięcia tego celu.

Pierre.Vriens
źródło