$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 |
|---|---|---|
| array | Liste der Gutscheine, die zum Einlösen vorgemerkt sind. |
| float | Gesamtwert der eingesetzten Gutscheine. |
| float | Bereits genutzter Wert der Gutscheine. |
| 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ückgabeMap - Voucher-Map mit den Gutschein-Daten.
Parameter
Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| 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 |
|---|---|---|
| string | Gutschein-ID. |
| float | Wert des Gutscheins. |
| string | Währung des Gutscheins. |
| string | Steuersatz-ID des Gutscheins. |
| float | Bereits eingelöster Wert des Gutscheins. |
| float | Bei prozentualen Gutscheinen ist |
| float | Bei prozentualen Gutscheinen ist |
| string | Gültig ab (Datum). |
| 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