Gutscheineingabe-Formular mit maximumCount-Check
Die Eingabe-Form wird nur angezeigt, solange weniger Gutscheine eingelöst sind als erlaubt. Sobald die Höchstgrenze erreicht ist, verschwindet das Formular automatisch.
Fehlermeldungen (z.B. “Mindestbestellwert nicht erreicht”) werden über
components/errorAlert.htm definiert und ausgegeben.Liste eingelöster Gutscheine anzeigen
Pro Gutschein wird ein eigenes kleines Formular mit eindeutiger ID ausgegeben. Gültige Gutscheine erscheinen grün, ungültige rot.Alle eingelösten Gutscheine im Warenkorb ausgeben
In diesem Beispiel werden alle eingelösten Gutscheine im Warenkorb ausgegeben. So sieht der Kunde transparent, welche Codes im System sind und welcher davon gerade greift. Nicht wirksame Gutscheine werden nicht in die Liste aufgenommen und werden über eine Fehlermeldung gekennzeichnet.Gutscheinfehler mit Grund und Gutschein-ID ausgeben
Statt eines allgemeinen Hinweises erhält der Kunde hier je Gutschein den konkreten Grund, warum der Gutschein nicht greift. Die Texte stammen auscheckout.voucherErrors, der Fallback auf code greift nur, falls kein Text gepflegt ist.
Prüfen Sie
details.voucherId immer vor der Ausgabe. Die Gutschein-ID fehlt bewusst, wenn der Fehler aus der Summenprüfung der Mindestbestellwerte stammt. Welcher Fehler wann entsteht, steht unter Wann welcher Fehler entsteht.Kostenfreie Versandart für Gutschein-Warenkörbe
Enthält ein Warenkorb ausschließlich (Sofort-)Gutscheine, wird kein physischer Versand benötigt. Dafür lässt sich untercheckout.shippingMethod eine eigene, immer kostenfreie Versandart anlegen: Die Preisstaffel basicCost setzt die Kosten ab einer Zwischensumme von 0 auf 0, und die Validierung shippingMethodValidation.productType mit rule: deny sperrt die Versandart, sobald ein reguläres Produkt (Produkttyp standard) im Warenkorb liegt - sie ist also nur für reine Gutschein-Warenkörbe wählbar.
Der Wert
standard in der ruleList ist der Wert des Produkttyp-Feldes der Produkte (das über content.usedFields als Produkttyp definierte Produktdatenfeld) - nicht zu verwechseln mit dem Parameter type: "standard" der Versandart selbst. Produkte, bei denen das Produkttyp-Feld nicht gesetzt ist, bestehen die Prüfung immer.name, description und orderText verweisen im Beispiel auf Textbausteine, sodass die Texte je Sprache über den Textbaustein-Dienst gepflegt werden können.