Skip to main content
Mit dem $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
JSON-Ausgabe
Anmerkung: ƒ() 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 mit attachTo an einen Konfigurationsknoten gebunden sind, geben Sie die Knoten-ID als zweiten Parameter an. Signatur
$wsOptions.get(name, nodeId)
Rückgabe
Der 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:
Gibt den Wert der Option intValue aus. Beispiel – an einen Konfigurationsknoten gebundene Option:
Gibt den Wert der 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.
Damit Sie die korrekte Knoten-ID zur Hand haben, stellen die folgenden Objekte ein Feld nodeId bereit:
  • $wsAccount: addressFields
  • $wsAsse: asseConfigs
  • $wsCategories: fields, customFields
  • $wsConfig: countries, payments, shippingMethods, shippingMethodGroups, currency, emails, listElements, redirects
  • $wsForm: loadType / loadAllTypes sowie deren fields / loadField
Hier liefert $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

In diesem Beispiel wird eine an payment.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.
Ergebnis
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.