(http://www.woll-insel.at/Bilder/SP-Forum/versk2.jpg) | (http://www.woll-insel.at/Bilder/SP-Forum/versk3.jpg) |
<!--spmacro:module(defs)
#Versandkosten abhängig vom
my ($zone) = ssp::get_cart_zone();
if ($zone == 1) {$verskosttab = [
[0,0,0],[1,999,5.50],[999,99999999999999,55]
];
}
if ($zone == 2) {$verskosttab =[
[0,0,0],[1,999,9.90],[999,99999999999999,120]
];
}
if ($zone >= 3) {$verskosttab =[
[0,0,0],[1,99999,12.90],[999,99999999999999,200]
];
}
-->
<!--spmacro:module(Callback)
$vsumme = 0;
$gewichtsumme =0;
sub invoice_addpos {
my $ref_gesamt = $_[0];
my $ref_gesamt_steuer = $_[2];
my $anzahl = ssp::get_cart_items();
my $ust = $_[3]/100;
my $netto = $_[4];
for (my $i = 0;$i <= $anzahl;++$i) {
my $wert = ssp::get_var_cart('anzahl',$i)*ssp::get_var_cart('GEWICHT',$i);
$gewichtsumme += $wert;
}
foreach my $i (@{$defs::verskosttab}) {
ssp::trace("$i->[0] $i->[1] $i->[2]\n");
if (($i->[0] <= $gewichtsumme) && ($gewichtsumme < $i->[1])) {
$vsumme = $i->[2];
break;
}
}
if ($netto > 0) {
$$ref_gesamt += $vsumme;
$$ref_gesamt_steuer += $vsumme*$ust;
} else {
$$ref_gesamt += $vsumme;
$$ref_gesamt_steuer += $vsumme*(1-1/(1-$ust));
}
ssp::trace("+++++ invoice_addpos $$ref_gesamt $$ref_gesamt_netto $$ref_gesamt_steuer\n");
}
-->
<!--spmacro:module(versk)
# Gesamtsumme der Versandkosten
sub versk {
main::mprint(main::fp($Callback::vsumme));
}