GS nur für bestimmte Artikel

Begonnen von dobra, Oktober 19, 2009, 15:30:07

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

dobra

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.
mfG
dobra