Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Layouts für CMS-Entwickler

Für CMS-Entwickler Exponential Layouts aus Sicht der Entwickler. Die Seite behandelt Layouts, Zonen, Blöcke und Regeln, wie eine Seite ihr Layout auflöst, wie Layouts im Pagelayout auf Templates treffen, Layout-Typen…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/cms-developers/layouts-for-cms-developers.md

On this page

This page is a translation. Read the English original

Layouts für CMS-Entwickler

Diese Seite richtet sich an Entwickler, die entscheiden, welche Teile einer Website Redakteure selbst zusammenstellen. Exponential Layouts (die Erweiterungen explayouts, eine Portierung der Upstream-Layouts-Pakete auf diesen Kernel) lässt Redakteure Seiten ohne Code aus Blöcken in Zonen bauen, während Ihre Templates und Ihr Inhaltsmodell bestimmen, wie jeder Block aussieht.

Inhalt

  1. Die Teile
  2. Wie eine Seite ihr Layout erhält
  3. Wo Layouts auf Ihre Templates treffen
  4. Was Sie als Entwickler festlegen
  5. Template-Blöcke: Ihr Code in einem Layout
  6. Gemeinsame Layouts
  7. Layouts zwischen Installationen
  8. Layouts oder Templates
  9. Nach einer Änderung

Die Teile

TeilWas es ist
Layoutder Plan einer Seite, von einem Redakteur im Layout-Editor erstellt
Layout-Typdie Zonen, die ein Layout hat (1 column, 2 columns, Hero + 3 columns ...), in Einstellungen mit einem Template festgelegt
Zoneein Bereich des Layouts; enthält Blöcke untereinander
Blockein Titel, Rich Text, ein Bild, eine Liste von Inhalten, eine Galerie, ein Hero und mehr; jeder von einer Blockdefinition mit View-Typen
Sammlungdie Elemente eines Listenblocks: von Hand ausgewählt oder durch eine Abfrage gefüllt
Regel (Zuordnung)welche Seiten ein Layout verwenden: Ziele (eine Platzierung, ein Teilbaum, eine Modulseite) und Bedingungen (eine Klasse, ein Siteaccess)
Gemeinsames Layoutein Layout, mit dessen Zonen andere verknüpft sind, etwa Kopf- und Fußbereich

Die Sicht der Redakteure: Der Layout-Editor; der Rundgang: Rundgang durch den Layout-Editor.

Wie eine Seite ihr Layout erhält

Bei jeder Anfrage prüft der Resolver die aktivierten Regeln nach Priorität; die erste, deren Ziele und Bedingungen zur Seite passen, gewinnt. Regeln liegen in der Datenbank, werden in der Layout-Verwaltung unter Rules (Layout mappings) verwaltet, und die Registerkarte Layouts eines Knotens zeigt, zu welchem Layout er sich auflöst (Layout-Regeln, Layout-Zuordnungen).

Wo Layouts auf Ihre Templates treffen

Das Pagelayout fragt nach dem Layout der Seite und zeichnet es oder fällt auf das normale Ergebnis der View zurück:

{def $page_layout = fetch( 'explayouts', 'resolve_layout', hash() )}
{if $page_layout}
    {include uri='design:explayouts/layout.tpl' layout=$page_layout module_result=$module_result}
{else}
    {$module_result.content}
{/if}
{undef $page_layout}

Blöcke eines Layouts können den eigenen Inhalt der Seite zeigen (die Full View in einem Layout); ein Layout kann also das Template, das Sie für eine Klasse geschrieben haben, einrahmen statt es zu ersetzen. Weitere Fetch-Funktionen beantworten, welches Layout oder welche Regeln ein Knoten hat (Ein Layout in Templates abrufen).

Was Sie als Entwickler festlegen

Sie legen festWoLesen
Layout-Typen und ihre Zonen[LayoutType_<name>] in explayouts.ini (in der Append-Datei Ihrer Erweiterung) und ein Template für den Layout-TypLayout-Typen und Zonen
Neue View-Typen vorhandener Blöckedie View-Typen der Blockdefinition und ein Template; kein PHPEinen View-Typ hinzufügen
Neue Blocktypeneine Blockdefinition und ihre TemplatesEinen Blocktyp hinzufügen, Blockdefinitionen
Wie Blöcke aussehenView-Templates für Blöcke und Stylesheets in Ihrem DesignView-Templates für Blöcke, Layout-Blöcke gestalten
Wie Listenelemente aussehenIhre Ansichtsmodi je KlasseAnsichtsmodi

Redakteure kombinieren dann, was Sie festgelegt haben. Halten Sie die Zahl der Layout-Typen und View-Typen klein: Jeder ist eine Wahl, die ein Redakteur verstehen muss.

Template-Blöcke: Ihr Code in einem Layout

Ein Template-Block setzt ein Template Ihres Designs in eine Zone. Verwenden Sie ihn für Teile, die Code brauchen (ein Suchformular, ein von einem Fetch gespeister Kalender, ein Widget), während Redakteure weiterhin entscheiden, wo sie erscheinen (Template-Blöcke). Hier treffen sich die beiden Wege zu bauen (Zwei Wege zum Bauen).

Gemeinsame Layouts

Ein gemeinsames Layout enthält Blöcke, die viele Seiten verwenden; eine Zone eines anderen Layouts wird mit einer Zone des gemeinsamen Layouts verknüpft, statt dessen Blöcke zu kopieren. Eine Bearbeitung des gemeinsamen Layouts ändert jede Seite, die damit verknüpft ist (Gemeinsame Layouts und Zonenverknüpfung).

Layouts zwischen Installationen

Layouts und Regeln liegen in den Layout-Tabellen der Datenbank, nicht in Inhaltspaketen. Sie werden als eine ZIP-Datei übertragen:

./console exp:layouts list
./console exp:layouts export --all --output=var/tmp/layouts.zip
./console exp:layouts import var/tmp/layouts.zip --dry-run

(Layouts exportieren und importieren). Regeln, die auf Platzierungen zielen, verweisen auf Knoten-IDs, die sich zwischen Installationen unterscheiden; prüfen Sie sie nach einem Import.

Layouts oder Templates

SituationBauen mit
Landingpages, Kampagnen, eine Startseite, die Redakteure oft umstellenLayouts
Jede Artikel-, Veranstaltungs- oder Produktseiteeinem Template je Klasse, eventuell von einem Layout eingerahmt
Eine Liste, deren Inhalt Regeln folgt (die neuesten fünf News)einem Layout-Block mit einer Abfragesammlung oder einem Fetch in einem Template
Etwas, das Code brauchteinem Template, mit einem Template-Block platziert, wenn Redakteure den Ort wählen

Die Entscheidungstabelle geht weitere Fälle durch.

Nach einer Änderung

Layout-Änderungen werden im Editor veröffentlicht; Einstellungen und Templates brauchen geleerte Caches. Der Resolver hat einen eigenen Cache, und Seiten werden in den View-Caches und im Antwort-Cache von Velocity zwischengespeichert (Caches nach einer Änderung, Warum erscheint meine Änderung nicht?).

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x