IBO - Vertriebspartner in Österreich             
ShopPilot.at
zurück Home     ShopPilot.at Tutorials Scripte für diverse Aufgaben Seite empfehlen Seite drucken    teilen
Tipps - Tricks - Lösungen

Thema: bei Kauf von x gleichen Artikeln einen gratis dazugeben
Autor: dobra

Aufgabe:
Bei Kauf von x Stück soll ein Stück gratis in den WK gelegt werden.

Lösung:
Ein ben.def. Artikelfeld "PACK" anlegen - hier wird die Stückzahl bei der ein gratis Stück dazugegeben werden soll eingetragen.
Ist das Feld leer, gibt es für diesen Artikel keine Gratiszugabe.

Code in stdplacecart.ipl:

<!--spmacro:module(util)														
sub gratis {
my $out;
	my $index = $_[0];
	my $anzahl = $_[1];
	   if ($index <= $anzahl) {
		    my $anzahl= ssp::get_var_cart('anzahl',$index);
		    my $artikel = ssp::get_var_cart('produkt',$index); 
		    my $preis = main::fp(ssp::get_var_cart('preis',$index)); 
		    my $pack = ssp::get_var_cart('PACK',$index); 	
                      return if (!int($pack)); ## Sonst Division durch 0 möglich
                         if ((length($pack))  && ($anzahl >= $pack)) {  
                           my $gratis = int($anzahl/int($pack));	  
			        $out = qq| 
						<TR>
							<TD class=text10rot style="BORDER-LEFT: #cccc99 1px solid; BORDER-BOTTOM: #cccc99 1px solid" bgcolor="white" width="260"><SPAN class=headsuche>$artikel</TD>
							<TD class=text10rot style="BORDER-LEFT: #cccc99 1px solid; BORDER-BOTTOM: #cccc99 1px solid" width="110"><SPAN class=text10schwarz>$gratis</SPAN></TD>
							<TD class=text10rot style="BORDER-LEFT: #cccc99 1px solid; BORDER-BOTTOM: #cccc99 1px solid" bgcolor="white" width="70" align="right" bordercolor="#330066">
								<DIV align=right>
									<SPAN class=text10schwarz>$preis</SPAN></DIV>
							</TD>
							<TD class=text10rot style="BORDER-LEFT: #cccc99 1px solid; BORDER-BOTTOM: #cccc99 1px solid" bgcolor="white" width="70" align="right">
								<DIV align=right>
									<SPAN class=textrot>gratis</SPAN></DIV>
							</TD>
						</TR>				   
				    |;			
		              main::mprint $out;
				return 0;	  
		          }
		}
	}
-->

der HTML-Teil:

<!--spmacro:loopitem-->
  <tr __zebra::tab__ >
      <td> ... </td>
      <td> ... </td>
     ...
  </tr>
<!--spmacro:enditem-->

Der HTML-Teil zwischen qq| ... und  ... |;  muß angepasst werden.

Im WK, Bestellformular und den Mails an Händler/Kunden vor dem <!--spmacro:enditem-->  __util::gratis__ einfügen.

Im Beispiel ist bei PACK 6 Stück eingetragen
pro 6 Stück wird ein Stück mit "gratis" in den WK gelegt.
Kunde kauft 1 - 5 passiert nix
Kunde kauft 6 -11 Stück = 1 Stück gratis dazu
Kunde kauft 12 - 17 Stück = 2 Stück gratis dazu
usw.

ändert der Kunde die Menge im WK wird auch das Gratisstück entsprechend geändert.

und so schaut der WK dann aus:

bei Kauf von x gleichen Artikeln einen gratis dazugeben

Wenn Sie fragen zum Artikel haben, bitte im Support-Forum stellen.