Grundlagen
Schreibweise
Eine Option wird mit der Anweisungoption, einem eindeutigen Namen und den Angaben hinter with definiert:
stringValue vom Typ String. Im Admin-Interface entsteht dadurch ein Textfeld; der dort eingetragene Wert wird im Template über $wsOptions.get("stringValue") ausgegeben. Jede Option hat genau einen Typ, der die Eingabemaske im Admin-Interface bestimmt.
Eindeutigkeit und Lebenszyklus
Jede Option darf nur einmal definiert werden. Werden zwei Optionen mit demselben Namen in unterschiedlichen Templates oder an unterschiedlichen Stellen desselben Templates definiert, entsteht ein Fehler. Die definierten Optionen stehen zur Verfügung, nachdem die Templates erfolgreich kompiliert wurden. Werden Optionen aus dem Template entfernt, verschwinden sie erst nach einer erneuten Kompilierung aus dem Admin-Interface.Nur statische Angaben
Bei der Definition sind ausschließlich statische Angaben möglich, es dürfen beispielsweise keine Variablen, Operatoren oder Funktionen verwendet werden. Die folgenden Beispiele sind daher nicht möglich:Anzeigelabel und Beschreibung
Anzeigelabel und Beschreibung einzelner Optionen lassen sich im Admin-Interface bzw. über die REST-API bearbeiten. Sie dienen ausschließlich der Anzeige und haben keine weitere Funktion.Optionstypen
Jede Option hat einen Typ, der die Eingabemaske im Admin-Interface bestimmt.String
Wird im Admin-Interface als Textfeld dargestellt. Beispiel$wsOptions.get("freeShippingHint") anschließend genau diesen Text aus.
Bool
Wird im Admin-Interface als An/Aus-Schalter dargestellt. Geeignet, um beispielsweise ein Verhalten oder ein Anzeigeelement ein- oder auszuschalten. Beispiel$wsOptions.get("showTrustBadges") den Wert true, andernfalls false. Passend, um beispielsweise die Trust-Badges im Template gezielt ein- oder auszublenden.
Int
Erwartet eine ganze Zahl. Optional lassen sich übermin und max Wertgrenzen festlegen.
Beispiel
4 ein, liefert $wsOptions.get("productsPerRow") den Wert 4 - beispielsweise um vier Produkte pro Reihe anzuzeigen.
Float
Erwartet eine Kommazahl. Wie beiInt lassen sich optional min und max angeben.
Beispiel
4.5 ein, liefert $wsOptions.get("minRatingForBadge") diesen Wert, beispielsweise als Mindestbewertung, ab der ein „Top bewertet”-Badge erscheint.
Enum
Erlaubt die Auswahl aus einer vordefinierten Liste. Die erlaubten Werte werden übervalues festgelegt.
Beispiel
grid, list und slider. Wählt ein Redakteur slider, liefert $wsOptions.get("teaserLayout") den Wert slider, beispielsweise um die Teaser als Slider statt als Raster darzustellen.
Optionen an Konfigurationen binden
MitattachTo binden Sie eine Option an einen Konfigurationsknoten, z. B. payment.payment für die Zahlungsarten:
- Die Einstellung lässt sich im Admin-Interface direkt in der jeweiligen Konfiguration bearbeiten.
- Bei frei erstellbaren Konfigurationen, beispielsweise einer Konfiguration je Zahlungsart, kann die Einstellung pro Knoten unterschiedlich sein. So lässt sie sich etwa bei „Vorkasse” deaktivieren und bei „Google Pay” aktivieren. Den so gepflegten Wert lesen Sie im Template über $wsOptions.get(name, nodeId) aus, wobei
nodeIddie ID des Konfigurationsknotens ist.
$wsOptions.get("showPaymentIconInFooter", "payment.payment.bill") für den Vorkasse-Knoten true und für den Google-Pay-Knoten false . Das Footer-Icon erscheint also nur bei der Vorkasse.
Die Konfigurationsknoten-ID ist nicht das Feld
id innerhalb einer Konfiguration (die „technische ID”). Welche Objekte die korrekte nodeId bereitstellen, ist unter $wsOptions aufgeführt.Darstellung im Admin-Interface
ÜberdisplayOptions.location legen Sie fest, an welcher Stelle der klickbaren Konfigurationsoberflächen im Admin-Interface die Option erscheint:
location wirkt nur in Kombination mit attachTo. Ohne passendes attachTo hat die Angabe keinen Effekt.
Wird
location nicht angegeben, erscheint die Option in einem allgemeinen Abschnitt „Template Optionen” des jeweiligen Konfigurationsknotens.
