Seitenvorlagen: templates/*.json
Welche Abschnitte auf welcher Seite stehen, in welcher Reihenfolge — und wie man Liquid in einen Einstellungswert schreibt.
Für EntwicklerVoraussetzungen
- Recht: website:write
Je Seitenvorlage eine Datei unter `templates/`. Der Dateiname ohne Endung ist der Schlüssel, den eine Website-Seite unter „Template" auswählt.
Die Datei enthält `name` (der Anzeigename), `sections` (eine Zuordnung von Abschnitts-Kennung auf den Abschnitt) und `order` (die Reihenfolge dieser Kennungen). Ein Eintrag unter `sections` führt `type` (den Dateinamen des Abschnitts), `settings`, optional `blocks` mit `block_order` und optional `disabled`.
Die KENNUNG ist frei wählbar und muss nur innerhalb der Vorlage eindeutig sein; `type` verweist auf die Datei. So kann derselbe Abschnitt mehrfach mit unterschiedlichen Werten auf einer Seite stehen.
`disabled: true` blendet einen Abschnitt auf der Seite aus, behält ihn aber im Editor. Das entspricht dem Augensymbol in der Abschnittsliste.
Eine Eigenheit, die es anderswo nicht gibt: Ein Einstellungswert darf LIQUID enthalten. Steht in einer Vorlage `"headline": "Willkommen bei {{ restaurant.name }}"`, wird das vor dem Rendern des Abschnitts aufgelöst. Das gilt für jede Zeichenkette, auch in verschachtelten Listen und Objekten. Schlägt die Auflösung fehl, bleibt der Rohtext stehen.
Codebeispiele
{ "name": "Startseite", "sections": { "kopf": { "type": "kopf", "settings": {} }, "karte": { "type": "tageskarte", "settings": { "ueberschrift": "Heute bei {{ restaurant.name }}", "anker": "karte" }, "block_order": ["b1", "b2"], "blocks": { "b1": { "type": "gericht", "settings": { "name": "Bretonischer Hummer", "beschreibung": "Beurre Blanc, Kaviar, Kerbel", "preis": 48 } }, "b2": { "type": "gericht", "settings": { "name": "Sellerie aus dem Ofen", "beschreibung": "Haselnuss, Apfel, Liebstöckel", "preis": 26 } } } } }, "order": ["kopf", "karte"]}{ "name": "Generische Seite", "sections": { "kopf": { "type": "kopf", "settings": {} }, "inhalt": { "type": "tageskarte", "settings": { "ueberschrift": "", "anker": "inhalt" }, "disabled": false } }, "order": ["kopf", "inhalt"]}In der Vorlage steht: {% raw %}Heute bei {{ restaurant.name }}{% endraw %}
{% section 'tageskarte' %}Meldungen, die hierher gehören
Siehe auch
- Einen eigenen Abschnitt bauenZwei Dateien genügen: die Vorlage und ihr Schema — danach steht der Abschnitt im Theme-Editor zur Auswahl.
- Das Layout: layout/theme.liquidDie Hülle um jede Seite — mit content_for_layout und den fest eingebauten Abschnitten.
- Alle Objekte, die eine Vorlage bekommtDie vollständige Liste — was nicht darin steht, ist im Template leer, ohne Fehlermeldung.