Zum Hauptinhalt springen
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
{{= $wsOptions | json }}
JSON-Ausgabe
{
  "get": "ƒ()"
}
Anmerkung: ƒ() kennzeichnet eine Funktion. Methoden in der Übersicht
MethodeRückgabe-TypBeschreibung
get()abhängig vom OptionstypLiest den Wert einer Template-Option (global oder je Konfigurationsknoten).

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 ).
Parameter
NameTypPflichtBeschreibung
namestringjaName der Option, wie im Template definiert.
nodeIdstringneinID des Konfigurationsknotens. Nur bei attachTo-Optionen anzugeben (siehe unten). Ohne Angabe wird der globale Wert gelesen.
Beispiel – globale Option:
{{= $wsOptions.get("intValue") }}
Gibt den Wert der Option intValue aus. Beispiel – an einen Konfigurationsknoten gebundene Option:
{{= $wsOptions.get("attached", "payment.payment.bill") }}
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
{{ foreach $payment in $wsConfig.payments }}
  {{= $wsOptions.get("attached", $payment.nodeId) }}
{{ /foreach }}
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

Beispiele folgen.