【Cart Max ver.7.5の場合】
「ポイントなし」の項目を使っている人はいないと思いますので、
この項目を利用して各商品に税率を入力します。
まず、管理画面の
「環境設定」の「基本設定」の「消費税率」に、
10%か8%か多いほうの税率を登録しておきます。
cgi/lib/admin/goods.plの
224行の
$copy.='var n="'.$no_p.'";'."\n";
$copy.='if(n == "1"){'."\n";
$copy.="\t".'document.fo.no_p.checked=true;'."\n";
$copy.='}'."\n";
$copy.='else if(parseInt(n) > 1){'."\n";
$copy.="\t".'document.fo.pbai.value=n;'."\n";
$copy.='}'."\n";
を
$copy.='document.fo.no_p.value="'.$no_p.'";'."\n";
と変更
529行の
if($no_p){
if($no_p == 1){
$ck_p=" checked";
}
else{
$pbai=$no_p;
}
}
else{
$ck_p="";
}
を削除
872行の
ポイントなし ポイント倍(2以上の数字を入力)
を削除
856行の
送料 | |
の下などに
税率* | (例)10 |
と追加
ここには税率を8%にするときは8、10%にするときは10と入力します。
1232行
var pbai=document.fo.pbai.value;
if(pbai != ""){
if(pbai.match(/[^0-9]+/)){
errormsg+="※ポイント〜倍に半角数字以外が入力されています。\n";
}
else if(parseInt(pbai) < 2){
errormsg+="※ポイント〜倍2以下の数字が入力されています。\n";
}
if(document.fo.no_p.checked == true){
errormsg+="※ポイントなしとポイント〜倍は両方同時に入力できません。\n";
}
}
を
if(document.fo.no_p.value==""){
errormsg+="※税率が入力されていません\n";
}
var tmp2=document.fo.no_p.value;
if(document.fo.no_p.value && tmp2.match(/[^0-9]+/)){
errormsg+="※税率に半角数字以外が含まれています。\n";
}
と変更
1648行
if(${$FO_ref}{'price'} eq ""){
&main::error("価格が入力されていません。");
}
の下に
if(${$FO_ref}{'no_p'}){
if(${$FO_ref}{'no_p'} =~/\D/){
&main::error("税率に半角数字以外が使われています。");
}
}
と追加
1867行
if(${$FO_ref}{'pbai'}){
${$FO_ref}{'no_p'}=${$FO_ref}{'pbai'};
}
を削除
2444行
if(${$FO_ref}{'price'} eq ""){
&main::error("価格が入力されていません。");
}
の下に
if(${$FO_ref}{'no_p'}){
if(${$FO_ref}{'no_p'} =~/\D/){
&main::error("税率に半角数字以外が使われています。");
}
}
と追加
2466行
if(${$FO_ref}{'pbai'}){
${$FO_ref}{'no_p'}=${$FO_ref}{'pbai'};
}
を削除
cgi/lib/cart/functions.plの
84行の
if($CF::pointuse){
if($no_p == 1){
$nop+=$price*$amount;
}
elsif($no_p > 1){
$plusp+=$price*$amount*($no_p-1);
}
}
を削除します。
109行の
($tax_each,$price)=&Kazei($price,$amount);
を
$tax_each=&Kazei($price,$no_p);
と変更します。
498行の
sub Kazei{
my($price,$amount,$tax_each);
$price=$_[0];
$amount=$_[1];
$tax_each=0;
if($CF::tansu){
if($CF::zei==0 || $CF::zei==1){
if(!$CF::dollar){
$tax_each=int($price*($CF::taxrate/100));
}
else{
$tax_each=$price*($CF::taxrate/100);
$tax_each=(int($CF::tax_each*100))/100;
}
if($CF::zei==1){
$price+=$tax_each;
}
}
else{
if(!$CF::dollar){
$tax_each=int($price*$CF::taxrate/(100+$CF::taxrate));
}
else{
$tax_each=$price*$CF::taxrate/(100+$CF::taxrate);
$tax_each=(int($tax_each*100))/100;
}
if($CF::dollar){
$tax_each=int($tax_each);
}
}
}
else{
if($CF::zei==1){
if(!$CF::dollar){
$tax_each=int($price*($CF::taxrate/100));
}
else{
$tax_each=$price*($CF::taxrate/100);
$tax_each=(int($CF::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=$CF::taxrate;
}
$tax_each=int($price*($ritu/100));
return $tax_each;
}
と変更します。
cgi/lib/cart/cart.plの370行の
($tax,$total)=&Functions::Tax($subtotal,$tax_all);
を
$tax=$tax_all;
$total=$subtotal+$tax;
と変更
1202行の
($tax,$total)=&Functions::Tax($subtotal,$tax_all);
を
$tax=$tax_all;
$total=$subtotal+$tax;
と変更
1923行の
($tax,$total)=&Functions::Tax($subtotal,$tax_all);
を
$tax=$tax_all;
$total=$subtotal+$tax;
と変更
2392行の
($tax,$total)=&Functions::Tax($subtotal,$tax_all);
を
$tax=$tax_all;
$total=$subtotal+$tax;
と変更
管理画面の「商品の登録・編集」の編集で各商品の税率を登録します。
すべての商品に税率を登録してもいいですが、
登録がないときは「環境設定」の「基本設定」の「消費税率」に登録した税率が適用されますので、
それとは違う税率の商品だけ登録すればいいです。
それから「ページの作成」の「全作成」ですべてのページを更新します。
税率を登録した商品の商品の購入ページのHTMLを見て、
のように税率が登録されているのを確認します。
以上です。