Best Practices für Seitenlayouts

19

Ich versuche herauszufinden, was die besten Methoden für Seitenlayouts in Drupal sind. Auf vielen Seiten befinden sich verschiedene Elemente wie der Hauptinhalt, ein Header-Bild usw. Ich möchte keine "einfache Seite" oder ähnliches erstellen (dh einen Knoten für die gesamte Seite).

Ist es gut, Panels für jede Seite zu verwenden und Blöcke in sie abzulegen? Ich könnte Aufrufe löschen, möglicherweise einen Knoten, ein Kontaktformular usw.

Frankie O'Rourke
quelle
"Ist es gut, Panels für jede Seite zu verwenden?" Manchmal ist es sogar noch schneller, weil Panels zwischengespeichert werden können.
iStryker

Antworten:

11

Panels ist ein großartiges Modul, aber es kann auch komplex sein und eine Weile dauern, bis Sie es vollständig verstanden haben. Wenn Sie Panels für jede Seite verwenden möchten , ist das Modul Panels Everywhere ein interessantes Projekt.

Ein weiteres großartiges Projekt, das flexiblere Layouts bietet, ist Display Suite .

Obwohl die Leute dazu neigen, entweder Panels oder DS zu verwenden, sind sie keine Konkurrenten. Sie können sogar zusammen verwendet werden, wie Sie im Blog des Autors / Betreuers von DS nachlesen können: Verwenden von Bedienfeldern in Ansichtsmodi in Drupal 7 .

marcvangend
quelle
5
Vergessen Sie nicht über Context und Omega (Omega Tools)
2

Ansichten und Panels sind eine gute Möglichkeit, aber mit der Verwendung eines großartigen Frameworks wie 960gs !

gbwebservice
quelle
0

Ja, Panels bieten Ihnen Layouts, in denen Sie Elemente ablegen können.

Panelizer ist das einfachste Panel-Modul, mit dem Sie Ihren vorhandenen Knoten einfach ein Panel hinzufügen können. (Node Panels sind veraltet, aber auf diese Tatsache wird nicht allgemein hingewiesen.)

Verwenden Sie also das reguläre Knotensystem, aber "panelisieren" Sie Knoten, wenn oder wann Sie müssen.

Tom Stermitz
quelle
0

Wenn Sie das Layout für mehr als eine Seite wiederverwenden möchten, ist die Display Suite mit einer Reihe von Feldern die beste Wahl.

Wenn Sie individuelle Layouts pro Seite wünschen, sind Panels möglicherweise die richtige Wahl.


Wenn Sie Letzteres wollen, aber Angst vor Panels haben (so wie ich), dann gibt es noch etwas, das Sie ausprobieren können. (von /drupal//a/90744/2974 )

Module:

Wie?

  • Erstellen Sie einen Knotentyp "Frontpage".
  • Fügen Sie ein mehrwertiges Blockreferenzfeld mit dem Widget "Mehrfachauswahlliste" hinzu.
  • Richten Sie einige Bohnentypen ein, um verschiedene Arten von Fancy-Boxen zuzulassen, die auf der Startseite platziert werden können.
  • Verwenden Sie die Blockreferenz innerhalb einer Bean für verschachtelte Layouts.
  • Einer der Bean-Typen könnte eine mehrwertige Entitätsreferenz haben, um z. B. eine Reihe von Produkten zu referenzieren (und sie sortierbar zu machen). Ich bevorzuge dies im Allgemeinen gegenüber der Nodequeue.
  • Verwenden Sie Display Suite, um zu definieren, wie die einzelnen Beans und die Startseite selbst angezeigt werden sollen.
  • Verwenden Sie benutzerdefinierte Feldvorlagen der Display Suite , um Kästchen um jede Bean / jeden Block in der Blockreferenz oder um jedes Produkt usw. zu verzieren . Aktivieren Sie hook_ds_field_theme_functions_info () . Dieses Zeug ist mächtig und großartig!
  • Weisen Sie den Client / Inhaltseditor an, die Kontextlinks zu verwenden, um einzelne Beans zu bearbeiten.
  • Außerdem können Sie Views-Blöcke in der Blockreferenz verwenden.
  • Inline Entity Form mag nützlich sein, aber ich habe es in dieser Kombination nicht wirklich ausprobiert. Das sind Hausaufgaben :)

Die Strategie ist, dass alles, was für eine Seite eindeutig ist, ein Block (oder eine Bean-Instanz) sein sollte. Das können wir uns leisten, weil diese Blöcke keine Themenregionen verschmutzen.

Dies sollte Ihnen etwas Material zum Spielen geben.
Ausführlichere Fragen sollten in speziellen Stapelaustauschfragen behandelt werden, da diese recht weit gefasst sind.

donquixote
quelle