Hallo,
Aufgabe:
ein Gutschein soll nur für bestimmte Artikel gültig sein
(Beispiel: GS kann bei Bestellung von Artikel XY1, XY2 oder XY3 bis 31.12.2009 eingelöst werden)
Bedingungen für das Einlösen von GS kann man ja jetzt nur nach Mindestbestellwert und/oder gültig von - bis einstellen.
Bis es dafür eine fertige SP-Lösung gibt, habe ich eine "Notlösung" gebastelt.
Lösung:
wenn der GS der nur für bestimmte Artikel eingelöst werden soll im WK liegt, aber keiner der "gültigen" Artikel, wird der "bestellen" Link ausgeblendet.
1) ein ben.def. Artikel-Feld anlegen (im Beispiel "AKTION")
2) bei allen Artikeln für die der GS gelten soll ein "ok" in dieses Feld eintragen
3) Script direkt in der Warenkorbvorlage:
<!--spmacro:module(check)
sub gutschein {
my $out = " hier der Text der ausgegeben werden soll, wenn der GS im WK liegt aber kein gültiger Artikel ";
my $gs ;
my $ok ;
my $index = $_[0];
my $anzahl = $_[1];
if ($index <= $anzahl) {
for ($i=0;$i<=$anzahl;$i++) {
my $item = ssp::get_var_cart('id',$i);
if ($item eq "_GS_4711_1" ) { $gs = "1";}
my $wert = ssp::get_var_cart('AKTION',$i);
if ($wert eq "ok") { $ok = "1";}
}
}
if ($gs eq "1" && $ok eq "1" || $gs ne "1") { $out = "__sbestellen__"; }
main::mprint ($out );
}
-->
statt _GS_4711_1 die Gutscheinnummer Ihres Gutscheins schreiben
4) __sbestellen__ mit __check::gutschein__ ersetzen.
Das Ergebnis ist das gewünschte: der Gutschein kann nur für Artikel XY1, XY2 oder XY3 eingelöst werden, wenn bei diesen Artikeln "ok" im Feld AKTION steht.