【Cart Z ver.15.2の場合】
割引なしの項目を使っている人はいないと思いますので、
これを利用して各商品に税率を設定します。
商品のformタグの
に
のように税率を設定します。
設定がない場合は、cart.cgiの設定の
$taxrate='5';
ここで設定した税率が適用されます。
cgi/lib/functions.plの79行の
if($waribiki){
if(!$no_w){
$wari+=int($price*$amount*$wariritu/100);
}
}
を
if($waribiki){
$wari+=int($price*$amount*$wariritu/100);
}
と変更
110行の
($tax_each,$price)=&Kazei($price,$amount);
を
$tax_each=&Kazei($price,$no_w);
と変更します。
450行の
sub Kazei{
my($price,$amount,$tax_each);
$price=$_[0];
$amount=$_[1];
$tax_each=0;
if($tansu){
if($zei==0 || $zei==1){
if(!$dollar){
$tax_each=int($price*($taxrate/100));
}
else{
$tax_each=$price*($taxrate/100);
$tax_each=(int($tax_each*100))/100;
}
if($zei==1){
$price+=$tax_each;
}
}
else{
if(!$dollar){
$tax_each=int($price*$taxrate/(100+$taxrate));
}
else{
$tax_each=$price*$taxrate/(100+$taxrate);
$tax_each=(int($tax_each*100))/100;
}
$tax_each=int($tax_each) if(!$dollar);
}
}
else{
if($zei==1){
if(!$dollar){
$tax_each=int($price*($taxrate/100));
}
else{
$tax_each=$price*($taxrate/100);
$tax_each=(int($tax_each*100))/100;
}
$price+=$tax_each;
}
}
return($tax_each,$price);
}
を
sub Kazei{
my($price,$amount,$tax_each,$ritu);
$price=$_[0];
$ritu=$_[1];
if(!$ritu){
$ritu=$taxrate;
}
$tax_each=int($price*($ritu/100));
return $tax_each;
}
と変更します。
cgi/cart.cgiの
645行の
($tax,$total)=&Tax($subtotal,$tax_all);
を
$tax=$tax_all;
$total=$subtotal+$tax;
と変更します。
971行の
($tax,$total)=&Tax($subtotal,$tax_all);
を
$tax=$tax_all;
$total=$subtotal+$tax;
と変更します。
1249行の
($tax,$total)=&Tax($subtotal,$tax_all);
を
$tax=$tax_all;
$total=$subtotal+$tax;
と変更します。
1559行の
($tax,$total)=&Tax($subtotal,$tax_all);
を
$tax=$tax_all;
$total=$subtotal+$tax;
と変更します。
以上です。