Theme-Einstellungen: Schema, Werte und ihre Rangfolge

Wie aus Schema, gespeicherten Werten und dem Branding des Betriebs das Objekt settings entsteht.

Für Entwickler

Voraussetzungen

  • Recht: website:write

Zwei Dateien gehören zusammen. `config/settings_schema.json` beschreibt, welche Einstellungen es gibt und wie sie im Editor erscheinen — in Gruppen, jede mit `name` und `settings`. `config/settings_data.json` enthält die gespeicherten Werte, umschlossen von einem Objekt `current`.

Beim Rendern entsteht `settings` in drei Lagen. Erstens die Vorgabewerte aus dem Schema. Zweitens darübergelegt, was in `settings_data.json` steht. Drittens — und das ist der Teil, der überrascht — gewinnen für einige Schlüssel die Markenwerte des Betriebs ZURÜCK, sofern der Wert nicht vom Redakteur abweichend gesetzt wurde. Als „abweichend" gilt ein Wert, der gesetzt, nicht leer und ungleich dem Vorgabewert ist.

So bleibt die Farbe eines Themes an die Marke gebunden, solange niemand sie eigens überschreibt — und löst sich davon, sobald er es tut. Welche Schlüssel das betrifft, steht im Artikel über die Marken-Einstellungen.

Einstellungen eines ABSCHNITTS liegen nicht hier, sondern in der jeweiligen Vorlage unter `sections.<kennung>.settings`. Es gibt keinen getrennten Speicher dafür.

Beim Speichern durch den Editor bleiben Schlüssel erhalten, die er nicht kennt. Sie können also Werte pflegen, die nur Ihre Vorlagen benutzen, ohne dass sie beim nächsten Speichern verschwinden. Gruppen mit den Namen „Öffnungszeiten", „Adresse" oder „Kontaktdaten" blendet der Editor bewusst aus — diese Angaben gehören in die Stammdaten des Betriebs, nicht ins Theme.

Wo im Dashboard

/restaurant/[slug]/website/themes/[id]/code

Im Dashboard öffnen