it-swarm.com.de

Best Practices für Seitenlayouts

Ich versuche herauszufinden, welche Best Practices für Seitenlayouts in Drupal gelten. Viele Seiten enthalten verschiedene Elemente wie Hauptinhalt, ein Header-Bild usw. Ich möchte keine "Basisseite" oder ähnliches erstellen (dh einen Knoten für die gesamte Seite).

Ist es gut, für jede Seite Bedienfelder zu verwenden, in die Blöcke eingefügt werden? Ich könnte Ansichten löschen, möglicherweise einen Knoten, ein Kontaktformular usw.

19

Panels ist ein großartiges Modul, aber es kann auch komplex sein und es kann 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 lesen können: Verwenden von Bedienfeldern in Ansichtsmodi in Drupal 7 .

11
marcvangend

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

2
gbwebservice

Ja, Panels bieten Layouts, in die 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.

0
Tom Stermitz

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

Wenn Sie individuelle Layouts pro Seite wünschen, sind Panels möglicherweise das Richtige.


Wenn Sie Letzteres möchten, aber Angst vor Panels haben (wie ich), können Sie noch etwas anderes ausprobieren. (von https://drupal.stackexchange.com/a/90744/2974 )

Module:

Wie?

  • Erstellen Sie einen Knotentyp "Frontpage".
  • Fügen Sie ein mehrwertiges Blockreferenzfeld mit dem Widget "Multiple Selects List" hinzu.
  • Richten Sie einige Bohnentypen ein, um verschiedene Arten von ausgefallenen 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 Entitätsreferenz mit mehreren Werten haben, z. Verweisen Sie auf eine Reihe von Produkten (und lassen Sie sie sortieren). Ich bevorzuge dies im Allgemeinen gegenüber der Nodequeue.
  • Verwenden Sie Display Suite, um zu definieren, wie jede Bean und die Startseite selbst angezeigt werden sollen.
  • Verwenden Sie Benutzerdefinierte Feldvorlagen für die Anzeigesuite , um Kästchen um jede Bean/jeden Block in der Blockreferenz oder um jedes Produkt usw. zu dekorieren. Überprüfen Sie hook_ds_field_theme_functions_info () . Dieses Zeug ist mächtig und großartig!
  • Weisen Sie den Client/Inhaltseditor an, die Kontextlinks zum Bearbeiten einzelner Beans zu verwenden.
  • Darüber hinaus können Sie Views-Blöcke in der Blockreferenz verwenden.
  • Das Inline-Entitätsformular mag nützlich sein, aber ich habe es in dieser Kombination noch nicht ausprobiert. Das sind Hausaufgaben :)

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

Dies sollte Ihnen etwas Material zum Spielen geben.
Detailliertere Fragen sollten in speziellen Fragen zum Stapelaustausch erörtert werden, da dies ziemlich weit gefasst ist.

0
donquixote