Hallo,
Aufgabe:von "normalen" Gutscheinen kann man ja immer nur einen pro Bestellung einlösen.
Das soll bei Promotion-Gutscheinen auch so sein!
Wenn aber jemand
gekaufte Wertgutscheine hat (Kunde hat z.B. 3 GS a € 10,- geschenkt bekommen) soll er auch mehrere dieser Wertgutscheine bei einer Bestellung einlösen dürfen.
Lösung:Wertgutschein als normalen Artikel anlegen und das Gutscheinverhalten nachbauen
1) man braucht einen
neuen Präfix für die Wertgutscheine (
nicht den gleichen, der bei GS-Präfix im WC eingetragen ist)
im Beispiel _WGS_
2) 2 ben.def. Artikelfelder
mit Typ "Datum" WGSVON und WGSBIS anlegen
3) beim Gutscheinartikel anlegen ist jetzt folgendes zu beachten:
- die Artikelnr. muss mit _WGS_ beginnen
- in das Feld LBSAUTO muss "1" eingetragen werden, damit dieser Artikel nur 1x bestellt = nur 1x eingelöst - werden kann
- in die neuen Felder WGSVON und WGSBIS (wie bei den normalen Gutscheinen) das Gültigkeitsdatum eintragen
4) diesen Code in stdall.ipl schreiben
<!--spmacro:module(wertgutschein) {
my $item = ssp::get_var_form('directItem');
if ($item =~ /_WGS_/){
my $jetzt = time();
my $pre = ssp::db_get_prefix();
my $ITEM = $pre . "ITEM";
my $count = ssp::readSQLData("SELECT WGSVON, WGSBIS FROM $ITEM WHERE ITEMID='$item'","WGSVON","WGSBIS");
if ($count >= 0) {
my $i=0;
while ($count > $i) {
$von = ssp::get_var_db("WGSVON",$i);
$bis = ssp::get_var_db("WGSBIS",$i);
++$i;
}
if ($jetzt < $von || $jetzt > $bis){
ssp::set_var_form('directItem',"gibtsnicht");
#das "directItem" auf eine nicht vorhandene Artikelnummer setzen, so dass "ungültiger Gutschein" ausgegeben wird.
}
#Bei erfolgreicher Abfrage der Datenbank passiert nichts und der Gutschein wird in den Warenkorb gelegt.
}
}
}
-->
so haben die nachgebauten Wertgutscheine reguläres Gutscheinverhalten, es können aber mehrere eingelöst werden OHNE dass die normalen GS-Funktion beeinträchtigt wird.
Weiter Bedingungen können wahlweise nach dem selben Prinzip eingebaut werden.
Hallo,
In der Praxis hat sich leider herausgestellt, dass diese "Notlösung" etliche Schwachpunkte hat :(
z.B. kann keine Mindestbestellsumme definiert werden sodass auch Minusbeträge bestellt werden können.
Beispiel:
Warenwert € 20,-
eingelöster Wertgutschein 1 - € 10,-
eingelöster Wertgutschein 2 - € 10,-
eingelöster Wertgutschein 3 - € 10,-
eingelöster Wertgutschein 4 - € 10,-
eingelöster Wertgutschein 5 - € 10,-
Versandkosten € 4,90
Rechnungssumme - € 25,10
Ganz großer Wunsch für nächste Version:
Unterscheidung zwischen Wertgutscheinen und Promotion GS
also dass man beim GS-Verhalten eine Option anhaken kann für "echte" Wertguscheine (also gekaufte GS) = es dürfen mehrere pro Bestellung eingelöst werden
(Option nicht angehakt = Promotion GS - nur 1 St. pro Bestellung wie bisher)
Nachdem ich diesen Fehler entdeckt habe, hatte ich die Wert GSs wieder als "normale" GS angelegt
aktueller Anlass meiner Bitte:
eine Rechtsanwältin(!) hat zu Weihnachten 10 GS a 10,- geschenkt bekommen und wollte diese jetzt bei einer Bestellung von 122,- einlösen.
Das konnte sie bei "Standard-GS" natürlich nicht -> großes Gemecker .....
zum Glück hat sie zuerst mal angerufen und nicht gleich eine Klage eingereicht und ich konnte das regeln indem ich ihr den vollen GS-Betrag für alle Wertgutscheine mit der Auftragsbestätigung manuell gutgeschrieben habe.
Aber eine "Onboard" Lösung für Kauf/Wert/Geschenk-GS wäre doch sehr schön.....
Nachtrag:
wenn ich schon mal beim wünschen bin ;)
vielleicht geht's ja auch, dass die Meldung "Warenwert zu gering für GS-Einlösung" als Inline-Meldung ausgegeben werden kann?