Testen, ob ein Gutschein im WK liegt

Begonnen von admin, März 09, 2010, 11:00:07

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

admin

Manchmal muss man feststellen, ob schon ein Gutschein im Warenkorb liegt, z.B. um zu verhindern, dass noch ein weiterer Gutschein genutzt werden kann.
Das grundsätzliche Vorgehen ist, dass man für alle Artikel im WK feststellt, ob die Artikelnummer mit dem Gutscheinkennzeichen beginnt.

    for (my $i=0;$i<=$anzahl;$i++) {
         my $item = ssp::get_var_cart('id',$i); # Artikelnummer
         if ($item =~ /^$main::KZGS/)  { # mit Gutscheinkennzeichen vergleichen
  main::mprint("GUTSCHEIN");
# Gutschein schon vorhanden
        } else {
main::mprint("KEIN GUTSCHEIN");
       }  
   }


Dies funktioniert wunderbar im Warenkorb. Leider ausserhalb des Warenkorbs nicht mehr, da die Warenkorbdaten nicht zur Verfügung stehen.

Man kann jedoch ein embedded Template mit WK Inhalt nehmen um doch noch überall an die Information zu gelangen.

Hier das Template gutschein.txt

__test::gs__ 

<!--spmacro:module(test)

sub gs { # Falls schon Gutschein im  WK ist hier Schluss
my $anzahl = ssp::get_cart_items();

    for (my $i=0;$i<=$anzahl;$i++) {
      my $item = ssp::get_var_cart('id',$i);
    if ($item =~ /^$main::KZGS/) {
   main::mprint("GUTSCHEIN");
   return; # Gutschein schon vorhanden
        } else {
   main::mprint("KEIN GUTSCHEIN");
    }  
}
}
-->



Hier der Code zum Aufruf

<!--spmacro:module(embed)

sub gutschein {
ssp::embedded("showwk","embedded/gutschein.txt");
}

...


Die Ausgabe erfolgt dann mit __embed::gutschein__