Odpowiedzi:
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:
$page_data = page_manager_get_current_page()
tam, gdzie są pieniądze, szczególnie$page_data['handler']
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.
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
,Context
orazBlocks
API do osiągnięcia tego celu.