Ich schreibe diese Frage, weil ich überall in der Drupal-Community Verwirrung über "Was ist Seitenmanager" und "Was sind Panels" sehe.
quelle
Ich schreibe diese Frage, weil ich überall in der Drupal-Community Verwirrung über "Was ist Seitenmanager" und "Was sind Panels" sehe.
Ctools
In Ctools gibt es ein Untermodul namens " Seitenmanager ". Dieses Modul ist im Kern eine grafische Benutzeroberfläche für hook_menu . Sie können entweder neue Pfade im System erstellen oder einige der von Core bereitgestellten Pfade übernehmen.
Seitenmanager
Sobald der Seitenmanager einen Pfad für Sie verwaltet, kann er verschiedene Aktionen ausführen. Standardmäßig können Weiterleitungen für Sie bereitgestellt werden. Ein häufiger Anwendungsfall hierfür ist, den Zugriff auf Knoten zu verweigern, für die keine ordnungsgemäße Thematisierung vorliegt, da diese nicht für sich betrachtet werden sollen, z. B. "Faktenfelder" oder "Image-Knoten". Eine andere Möglichkeit besteht darin, von einer Begriffssicht zu einer Solr-Suche desselben Begriffs umzuleiten.
Einer der wichtigsten Vorteile von Seiten - Manager ist, dass es eine Art und Weise des Umgangs mit „Kontext“ führt, nicht mit dem Modul verwechselt werden Context . Der Clou dabei ist, dass Panes, die "etwas intelligentere Blöcke" sind , ihre Abhängigkeiten zum System deklarieren können und ihnen die eigentlichen Argumente (so genannte Contexts) im Abhängigkeitsinjektionsstil übergeben werden .
Für diejenigen, die mit DI nicht vertraut, aber mit Drupal vertraut sind, können Sie beispielsweise festlegen, dass menu_get_object nie wieder verwendet werden muss, um "den einzigen Knoten zu erhalten, auf den aus dem Menüpfad verwiesen wird". Was ist, wenn sich mehr als ein Knoten im Pfad befindet? Oder wenn Sie den Block wirklich auf einen Knoten aus einer Entitätsreferenz gründen möchten? Dies ist für Page Manager kein Problem, da alle Blöcke (Fensterbereiche) viel flexibler und wiederverwendbarer sind.
Panels
Der häufigste Anwendungsfall ist jedoch die Übergabe des Layouts und des Renderns des Pfads an Panels . Panels bietet Tools zum Definieren von Layouts, entweder im Code oder direkt im Browser, und ermöglicht das Platzieren von Inhalten direkt im Browser.
Fazit
Beide Module sind sehr leistungsfähig und relativ schlecht dokumentiert, was viele Leute frustriert hat. Es lohnt sich jedoch, zu verstehen, wie sie verwendet werden, wenn Sie eine größere Site erstellen, zumal ihre Herangehensweise an den Umgang mit "Seiten" und das Layout so aussieht, als würden sie dank der SCOTCH - Initiative von EclipseGC in den Drupal 8 - Kern integriert . Relevantes Sandbox-Projekt
Weitere Lektüre
Beispiele für andere interessante Dinge, die man mit diesen Tools machen kann:
$page_data = page_manager_get_current_page()
ist, wo das Geld ist, vor allem$page_data['handler']
In Drupal 7 war Page Manager die Grundlage des Panels- Moduls.
" Learn Page Manager " ist eine interessante (und erstaunliche) Sammlung von Videos. Sie enthalten verschiedene Themen im Zusammenhang mit dem Modul Panels . Hier ist eine Zusammenfassung aller Videos zu diesem Thema (Zitat aus dem obigen Link):
Weitere nützliche Erklärungen zum Modul "Panels" finden Sie unter Erklären von Panels: Ein Überblick für Drupal-Entwickler .
Die Zukunft von Page Manager
In Drupal 8 wurde Page Manager zu einem separaten Modul, während es früher (bis Drupal 7) Teil des CTools- Moduls war. Hier sind einige weitere Zitate von der (D8-bezogenen) Projektseite:
quelle