Referenz zu den Designoptionen
Theme-Optionen sind Einstellungen, die Ihr Theme im Layout-Editor bereitstellt, damit die Nutzer, die damit veröffentlichen, Anpassungen vornehmen können, ohne das Theme selbst zu ändern. Sie werden in der options von theme.json definiert, und die Vorlagen lesen den für das Layout gewählten Wert als theme.options.<key>ein.
{
"key": "accent",
"type": "color",
"label": "Accent color",
"description": "Links, buttons and the portal banner.",
"default": "#3a46e8"
}Feld | Erforderlich | Beschreibung |
|---|---|---|
| Ja | Der Name, den die Vorlagen verwenden. Eine Option ohne Schlüssel wird ignoriert. |
| Nein | Der Wertetyp, der das Feld im Layout-Editor bestimmt. Siehe die unten aufgeführten Typen. Ein fehlender oder unbekannter Typ führt zu einem Textfeld. |
| Nein | Der Name der Option im Layout-Editor. Ist kein Name angegeben, wird der Schlüssel angezeigt. |
| Nein | Unter dem Feld angezeigter Hilfetext, maximal 500 Zeichen. |
| Nein | Der Wert, der so lange verwendet wird, bis ihn jemand ändert. Weisen Sie jeder Option einen Standardwert zu, damit das Theme funktioniert, bevor jemand die Einstellungen festlegt. |
| Für | Die Auswahlmöglichkeiten. |
Typen
Typ | Auch geschrieben als | Im Layout-Editor | Werte in Vorlagen |
|---|---|---|---|
| Eine Farbauswahl | Eine Zeichenkette | |
|
| Ein Textfeld | Eine Zeichenkette |
|
| Eine Liste mit Auswahlmöglichkeiten | Eine Zeichenkette |
|
| Aktivieren oder deaktivieren |
|
|
| Ein Textfeld, das beim Speichern des Layouts auf einen numerischen Wert überprüft wird | Eine Zahl |
| Bild hochladen | Der Dateiname des Bildes |
Farbe: Der Wert muss ein Hex-Farbcode mit 3, 4, 6 oder 8 Ziffern sein, z. B. #3a46e8, oder ein CSS-Farbname, z. B. „rebeccapurple“ oder „transparent“. Werte wie „rgb(…)“ und „hsl(…)“ werden nicht akzeptiert. Verwenden Sie den Standardwert "", um die Option leer zu lassen, und prüfen Sie dies in der Vorlage.
<style>:root { --accent: {{ theme.options.accent }}; }</style>text: Bis zu 2.000 Zeichen.
select: Listen Sie die Auswahlmöglichkeiten unter values auf, entweder als Objekte mit einem Wert und einer Bezeichnung oder als einfache Zeichenfolgen, die beides enthalten:
{
"key": "hero-contrast",
"type": "select",
"label": "Portal banner text and logo",
"default": "auto",
"values": [
{ "value": "auto", "label": "Automatic (from the background)" },
{ "value": "light", "label": "Light" },
{ "value": "dark", "label": "Dark" }
]
}"values": ["auto", "light", "dark"]
Ein select ohne Werte wird als Textfeld angezeigt.
Umschalten:
{% if theme.options.sidebar %}
<nav class="sidebar">…</nav>
{% endif %}Zahl: Jede endliche Zahl, wie beispielsweise 68 oder 1.5.
Bild: Die Person, die die Option festlegt, lädt ein Bild hoch, und Paligo veröffentlicht es zusammen mit den Assets des Themes. Verwenden Sie asset(), um darauf zu verlinken:
{% if theme.options['hero-image'] %}
<div class="hero" style="background-image: url('{{ asset(theme.options['hero-image']) }}')"></div>
{% endif %}Anzeigeoptionen in Vorlagen
Verwende einen Punkt für einen einfachen Schlüssel und Klammern für einen Schlüssel, der einen Bindestrich enthält:
{{ theme.options.accent }}
{{ theme.options['hero-image'] }}Der Layout-Editor überprüft die Werte beim Speichern des Layouts. Wenn ein gespeicherter Wert nicht zum Typ der Option passt – beispielsweise nachdem Sie eine Option von text auf toggle geändert haben –, wird er beim Veröffentlichen ignoriert und der Standardwert verwendet.