$wsVoucher

$wsVoucher

Mit dem $wsVoucher Modul können Sie Gutschein-Daten dynamisch im Frontend verwenden und anzeigen. Sie können eingelöste Gutscheine auflisten, den Gesamtwert berechnen und Details zu einzelnen Gutscheinen laden. In diesem Abschnitt erfahren Sie, wie Sie Gutscheindaten abrufen und im Warenkorb oder Checkout darstellen können.


Inhaltsverzeichnis


Modulübersicht

Über das Modul $wsVoucher können die Daten aller sowie einzelner Gutscheine geladen und angezeigt werden. Dies ist hilfreich für das Debugging oder zum direkten Auslesen relevanter Gutscheininformationen.


Beispiel / Ausschnitt über $wsVoucher

{{= $wsVoucher | json }}


JSON-Ausgabe

{ "vouchers": [...], "totalValue": 0.0, "totalUsedValue": 0.0, "load": "ƒ()" }

Anmerkung: ƒ() kennzeichnet eine Funktion.


Variablen und Methoden in der Übersicht

Name

Typ

Beschreibung

Name

Typ

Beschreibung

vouchers

array

Liste der Gutscheine, die zum Einlösen vorgemerkt sind.

totalValue

float

Gesamtwert der eingesetzten Gutscheine.

totalUsedValue

float

Bereits genutzter Wert der Gutscheine.

load()

map

Lädt einen Gutschein anhand seiner ID.

 


Templates

Gutscheindaten können grundsätzlich auf allen Templates geladen und angezeigt werden. Eine Eingabe bzw. Einlösung eines Gutscheincodes ist im gesamten Shop möglich. Am sinnvollsten erfolgt dies jedoch innerhalb des Bestellprozesses oder im Warenkorb.


Variablen

$wsVoucher.vouchers

Gibt eine Liste aller Gutscheine aus, die der Kunde im aktuellen Warenkorb eingelöst hat.

{{ foreach $myVoucher in $wsVoucher.vouchers }} Gutschein: {{= $myVoucher.id }} – Wert: {{= $myVoucher.value | currency }} {{ /foreach }}

 

$wsVoucher.totalValue

Gibt den Gesamtwert der eingesetzten Gutscheine aus.

Gutscheinwert: {{= $wsVoucher.totalValue | currency }}

 

$wsVoucher.totalUsedValue

Gibt den bereits vom Warenkorb abgezogenen Gutscheinwert aus.

Bereits eingelöst: {{= $wsVoucher.totalUsedValue | currency }}

 


Methoden

$wsVoucher.load()

Lädt einen Gutschein anhand seiner ID.

Signatur
$wsVoucher.load(id)


Rückgabe
Map - Voucher-Map mit den Gutschein-Daten.


Parameter

Name

Typ

Pflicht

Beschreibung

Name

Typ

Pflicht

Beschreibung

id

string

ja

ID des Gutscheins.


Beispiel, das einen Gutschein lädt:

{{ var $myVoucher = $wsVoucher.load("GUTSCHEIN123") }} Wert: {{= $myVoucher.value | currency }}

 

Mit Verwendung der Funktion $wsVoucher.load() stehen verschiedene Variablen zur Verfügung, um Gutschein-Daten abzurufen und auszugeben. Nachfolgend eine Übersicht, welche Variablen verfügbar sind.


Gutschein-Daten (Rückgabe von $wsVoucher.load() )

Zunächst ist es notwendig, die Map mit den Gutschein-Daten, wie im obigen Beispiel dargestellt, einer lokalen Variable zuzuweisen. Diese kann anschließend an verschiedenen Stellen im Template verwendet werden.


JSON-Ausgabe

{ "id": "...", "value": 0.0, "currency": "...", "taxId": "...", "usedValue": 0.0, "percentValue": 0.0, "absoluteValue": 0.0, "validFrom": "...", "validUntil": "..." }


Variablen in der Übersicht

Variable

Typ

Beschreibung

Variable

Typ

Beschreibung

id

string

Gutschein-ID.

value

float

Wert des Gutscheins.

currency

string

Währung des Gutscheins.

taxId

string

Steuersatz-ID des Gutscheins.

usedValue

float

Bereits eingelöster Wert des Gutscheins.

percentValue

float

Bei prozentualen Gutscheinen ist percentValue gefüllt (z.B. 10 für 10%), bei Festbetrags-Gutscheinen ist absoluteValue gefüllt (z.B. 5.00 für 5€).

absoluteValue

float

Bei prozentualen Gutscheinen ist percentValue gefüllt (z.B. 10 für 10%), bei Festbetrags-Gutscheinen ist absoluteValue gefüllt (z.B. 5.00 für 5€).

validFrom

string

Gültig ab (Datum).

validUntil

string

Gültig bis (Datum).


Aktionen

Aktionen zu diesem Modul, die Änderungen auslösen, sind separat im Kapitel “Aktionen” dokumentiert: https://websale.atlassian.net/wiki/spaces/WSDOKU/pages/2999517525


Beispiele

 

Einzelne Gutschein laden

Die Funktion $wsVoucher.load() ermöglicht es, die Details eines einzelnen Gutscheins abzurufen. Als Argument wird dabei die entsprechende Gutscheinnummer übergeben. Das Abrufen der Daten erfolgt folgendermaßen (auskommentiert, damit die Ausgabe nicht direkt im Frontend angezeigt wird):

<!-- {{ var $voucher = $wsVoucher.load("9S3J-45M4-5MV7-JTJL"); print $voucher }} -->

Die Ausgabe in der Developer-Konsole des Browsers könnte dann wie folgt aussehen:

Diese Ausgabe enthält typische Gutscheininformationen wie den Gutscheincode, den Rabatt (prozentual oder absolut), die Gültigkeitsdauer, das Verfallsdatum sowie mögliche Einschränkungen wie einen Mindestbestellwert oder eine maximale Nutzungsanzahl.

<!-- { "taxId": "", "minOrderValue": 50.000000, "currency": "EUR", "value": 0.000000, "validUntil": "2025-03-31T22:00:00.000Z", "validFrom": "2025-02-11T23:00:00.000Z", "id": "5EUR" } -->

 

Wert des Gutscheins

In diesem Beispiel wird der Wert des Gutscheins angezeigt.

Voucher Value: {{= $voucher.value }}

 

Gutschein-Typ: Prozentualer oder Festbetrag

In diesem Beispiel wird geprüft und angezeigt, ob der Gutschein einen prozentualen Rabatt oder einen festen Betrag gewährt.

Rabatt Typ: {{= $voucher.percentValue | ifNull("Percentage Value is null")}} {{= $voucher.absoluteValue | ifNull("absolute value is nulll")}}

 

Gültigkeitsdatum des Gutscheins

In diesem Beispiel werden das Start- und Enddatum der Gültigkeit eines Gutscheins angezeigt.

Gültig ab: {{= $voucher.validFrom | dateFmt("%d.%m.%Y") }} Gültig bis: {{= $voucher.validUntil | dateFmt("%d.%m.%Y") }}

 

Währung des Gutscheins

In diesem Beispiel wird die Währung angezeigt, in der der Gutschein ausgestellt wurde.

Währung: {{= $voucher.currency }}

 

Restbetrag eines Gutscheins anzeigen

In diesem Beispiel wird angezeigt, wie viel Restbetrag ein teilgenutzter Gutschein noch hat.

Restbetrag: {{= ($voucher.value - $voucher.usedValue) | currency }}

 

Gültigkeit eines Gutscheins prüfen

In diesem Beispiel wird überprüft, ob der Gutschein grundsätzlich gültig ist.

{{ if $voucherAddAction.success }} Gutschein erfolgreich in den Warenkorb gelegt. {{ /if }}


Weitere Praxisbeispiele können hier eingesehen werden: https://websale.atlassian.net/wiki/spaces/WSDOKU/pages/2848456743

 


Weiterführende Links