$wsOptions-Modul lesen Sie im Frontend die Werte von Template-Optionen aus. Template-Optionen sind Einstellungen, die einmal im Template definiert werden und danach im Admin-Interface pflegbar sind - ohne dass das Template erneut angepasst werden muss. Damit lassen sich Darstellungs-Details umschalten (z. B. ob das Icon einer Zahlungsart im Footer erscheint), ohne ins Template einzugreifen.
Auf dieser Seite geht es um das Lesen der Optionswerte. Wie Optionen definiert werden (Typen, Wertgrenzen, attachTo, Darstellung im Admin-Interface), beschreibt Template-Optionen definieren.
Grundkonzept
Eine Template-Option durchläuft immer denselben Ablauf: definieren → im Admin pflegen → im Template lesen.- Definieren: Die Option wird in einem Template mit der Anweisung
{{ option … }}angelegt (siehe Template-Optionen definieren). - Verfügbar werden: Definierte Optionen erscheinen im Admin-Interface, nachdem die Templates erfolgreich kompiliert wurden. Wird eine Option wieder aus den Templates entfernt, verschwindet sie erst nach erneuter Kompilierung aus dem Admin-Interface.
- Pflegen: Die Werte werden im Admin-Interface gesetzt. Bei an Konfigurationen gebundenen Optionen je Konfigurationsknoten unterschiedlich (siehe
attachTo). - Lesen: im Template über
$wsOptions.get(…).
Modulübersicht
Beispiel / Ausschnitt über$wsOptions
ƒ() kennzeichnet eine Funktion.
Methoden in der Übersicht
Templates
Template-Optionen lassen sich in jedem Template lesen.Variablen
Für$wsOptions stehen keine Variablen zur Verfügung. Der Zugriff erfolgt ausschließlich über die Methode get().
Methoden
$wsOptions.get()
Gibt den im Admin-Interface gepflegten Wert einer Template-Option zurück. Ohne zweiten Parameter wird eine globale Option gelesen. Bei Optionen, die mitattachTo an einen Konfigurationsknoten gebunden sind, geben Sie die Knoten-ID als zweiten Parameter an.
Signatur$wsOptions.get(name, nodeId)
RückgabeDer gepflegte Wert der Option. Der Typ entspricht dem bei der Definition festgelegten Optionstyp (
String, Bool, Int, Float, Enum).Wurde die Option im Admin-Interface noch nicht explizit gesetzt, wird
null zurückgegeben. Prüfen Sie den Rückgabewert daher vor der Verwendung (z. B. mit if), damit das Template bei einer noch nicht gepflegten Option nicht ungewollt leer bleibt.
Parameter
Beispiel – globale Option:
intValue aus.
Beispiel – an einen Konfigurationsknoten gebundene Option:
attached für die Zahlungsart mit dem Konfigurationsknoten payment.payment.bill (z. B. „Vorkasse”) zurück. Der zweite Parameter ist nötig, weil dieselbe Option bei frei erstellbaren Konfigurationen, etwa einer Konfiguration je Zahlungsart, pro Knoten unterschiedlich gesetzt sein kann (z. B. bei „Vorkasse” deaktiviert, bei „Google Pay” aktiviert).
nodeId – die ID des Konfigurationsknotens
Verwechseln Sie die Konfigurationsknoten-ID (
nodeId) nicht mit dem Feld id innerhalb einer Konfiguration. Die Konfiguration payment.payment enthält beispielsweise ein eigenes Feld id (eine „technische ID”) – dieses kann nicht als nodeId verwendet werden.nodeId bereit:
$wsAccount:addressFields$wsAsse:asseConfigs$wsCategories:fields,customFields$wsConfig:countries,payments,shippingMethods,shippingMethodGroups,currency,emails,listElements,redirects$wsForm:loadType/loadAllTypessowie derenfields/loadField
$payment.nodeId die Knoten-ID der jeweiligen Zahlungsart, die direkt als zweiter Parameter übergeben wird.
Aktionen
Für$wsOptions stehen keine Aktionen zur Verfügung.
Beispiele
Zahlungsarten je Zahlungsart im Footer ein- oder ausblenden
In diesem Beispiel wird eine anpayment.payment gebundene Option definiert, die im Footer nur die Zahlungsarten anzeigt, für die die Option im Admin-Interface aktiviert wurde. So können Sie pro Zahlungsart entscheiden was angezeigt wird, ohne das Template anzupassen.
Im Footer werden nur die Zahlungsarten angezeigt, für die die Option “
methodLocationFooter” aktiviert ist. Da diese Option an payment.payment gebunden ist, wird sie pro Zahlungsart über deren nodeId gelesen. Wenn die Option für eine Zahlungsart nicht gesetzt ist, gibt get() den Wert null zurück und der if-Zweig wird nicht ausgeführt.
Weiterführende Links
- Template-Optionen definieren – Syntax, Typen, Wertgrenzen,
attachTound Darstellung im Admin-Interface. - $wsConfig – liefert u. a.
paymentsinklusivenodeId. - Konfiguration per Code – Konfiguration direkt im Template.
- Storefront API Optionen - dieselben Optionswerte über die Storefront-API auslesen.
