Zum Hauptinhalt springen
Ein Gutschein lässt sich auf Produkte einschränken, ohne jede einzelne Produktnummer aufzuzählen. Stattdessen prüft der Shop ein Produktdatenfeld: Trägt das Produkt dort einen der festgelegten Werte, gilt der Gutschein dafür. Auch freie Produktdatenfelder sind dabei verwendbar. Damit lassen sich Aktionen an Eigenschaften knüpfen, die ohnehin gepflegt werden, beispielsweise an eine Marke, eine Saison oder ein Nachhaltigkeitskennzeichen.

Wie die Prüfung wirkt

Der Shop geht den Warenkorb durch und prüft jede Position gegen die hinterlegten Filter. Eine passende Position genügt, damit der Gutschein angenommen wird. Passt keine einzige, lehnt der Shop ihn ab. Mehrere Filter sind oder-verknüpft. Ein Gutschein mit zwei Filtern gilt also, sobald eine Warenkorbposition einen der beiden erfüllt. Ein Und wäre nur über ein einzelnes Feld mit entsprechend vorbereiteten Werten abbildbar.

Voraussetzung

Der Gutschein-Generator muss freigeschaltet sein. Wenden Sie sich dafür an Ihren WEBSALE-Ansprechpartner. Kommen die Gutscheine aus einem externen System und liegen deshalb nicht im WEBSALE-Format vor, ergänzen Sie im Abschnitt <Voucher-Txt> der shop.config den Eintrag ExternalVouchers-Allow = yes. Wegweiser: Gutschein-Eingabe vorsehen · Referenz: Abschnitt Voucher-Txt

Schritt 1: Das Produktdatenfeld in den Warenkorb übergeben

Der Shop prüft nur Felder, die er im Warenkorb überhaupt vorliegen hat. Tragen Sie das gewünschte Feld deshalb in der shop.config ein.
Ohne diesen Eintrag kennt der Warenkorb das Feld nicht, und der Filter findet nie einen Treffer. Der Gutschein wird dann bei jedem Warenkorb abgelehnt, ohne dass die Gutscheinkonfiguration falsch wäre. Das ist der wahrscheinlichste Grund, wenn ein solcher Gutschein “einfach nicht funktioniert”.
Referenz: Abschnitt AdditionalProductFieldsInBasket

Schritt 2: Den Filter im Gutschein anlegen

Beim Anlegen des Gutscheins im Gutschein-Generator tragen Sie im Feld Kundenspezifische Features ganz unten eine Zeichenkette nach dem folgenden Schema ein.

Das Verhalten bei Setprodukten

Ausgewertet wird ausschließlich der Wert single. Jeder andere Wert und ein leerer Eintrag bedeuten asUnit. Ein Tippfehler in single führt damit stillschweigend zum Verhalten als Einheit. Die Gesamtlänge der Zeichenkette ist auf 1000 Zeichen begrenzt. Mehrere <filter>-Klammern lassen sich hintereinander in derselben <g>-Gruppe angeben und sind oder-verknüpft.

Die umgekehrte Variante

Neben dem beschriebenen Filter kennt der Shop denselben Aufbau auch als Ausschluss. Dafür tragen Sie als Typ AdditionalProductFieldsFilterNegative ein, alles andere bleibt gleich.
Für die umgekehrte Variante gibt es eine eigene Tag-Familie mit dem Zusatz Negative, sonst aber keine eigene Dokumentation. Prüfen Sie ihr Verhalten in einem Testshop, bevor Sie sie in einer Aktion einsetzen.

Schritt 3: Die Konfiguration im Template ausgeben

Zur Kontrolle lässt sich anzeigen, welche Prüfungen an einem eingegebenen Gutschein hängen.
VOUCHER-SpecialFeatures_AddProdFieldsFilter_SetBehavior gibt als Einzeltag eine Zahl aus, 0 für asUnit und 1 für single, nicht den Text. Wer das Tag direkt hinter eine Beschriftung setzt, bekommt “Verhalten bei Setprodukten: 0” auf die Seite. Im Beispiel oben übersetzt die Abfrage mit Parameter die Zahl in Klartext.
Das Setverhalten gilt für die ganze Gruppe, nicht je Filter. Es gehört deshalb vor die Schleife und nicht hinein. VOUCHER-SpecialFeatures_AddProdFieldsFilter_Filter_ValueInList gibt die Werteliste mit führendem und abschließendem Komma aus, also ,a,b,c,. So liegt sie intern vor, damit der Shop sauber auf ganze Werte prüfen kann. Für eine Anzeige entfernen Sie die äußeren Kommas. Dasselbe Tagmuster gibt es für die umgekehrte Variante mit AddProdFieldsFilterNegative statt AddProdFieldsFilter. Referenz: VOUCHER-SpecialFeatures_AddProdFieldsFilter · VOUCHER-SpecialFeatures_AddProdFieldsFilter_SetBehavior · VOUCHER-SpecialFeatures_AddProdFieldsFilter_Filter · VOUCHER-SpecialFeatures_AddProdFieldsFilter_Filter_FieldName · VOUCHER-SpecialFeatures_AddProdFieldsFilter_Filter_ValueInList

Schritt 4: Die Fehlermeldung ergänzen

Passt keine Warenkorbposition zum Filter, lehnt der Shop den Gutschein mit dem Grund 21 ab. Ergänzen Sie diesen Grund dort, wo Sie die Gutscheineingabe eingebaut haben, also auf der Warenkorbseite ws_basket.htm oder der Bestellübersichtsseite ws_place_order.htm.
Ohne diesen Text sieht der Kunde eine leere Meldung und weiß nicht, warum sein Code abgelehnt wurde. Gerade bei produktabhängigen Gutscheinen ist das die häufigste Ablehnung überhaupt.
Referenz: MSG-Voucher_error

Verwandte Themen