| Cart MAX ver.7.2の送料変更について 投稿者: mayu |
| お世話になっております。 以前に送料変更をご教授いただき、今現在は下記の設定で使用しております。 else{ if(($toku_count > 1) && ($o_count <= 1)){ $p=1000 * $toku_count; } elsif($toku_count == 1){ $p=1000 * $toku_count; } else{ $p=950; } 現在は、特定商品とその他の商品と2種の送料で使用しておりますが、 その他の商品の送料「¥950」はそのままで、 特定商品の中でも送料をさらに4種に「特小・小・中・大」と分類したいのです。 お手間が掛かりそうでしたら、別途ご依頼させていただきます。 よろしくお願いいたします。 |
| 【No.28997】 2025/6/12(Thu) 13:48:18 Res |
| Re: Cart MAX ver.7.2の送料変更について 投稿者: えふ |
| 特定商品の送料が 特小 1000円 小 1100円 中 1200円 大 1300円 とすると 特小2つと中1つの購入があったときは送料は 1000×2+1200×1=3200円 にしたいということでしょうか。 |
| 【No.28998】 2025/6/14(Sat) 1:21:30 Res |
| Re^2: Cart MAX ver.7.2の送料変更について 投稿者: mayu |
| その通りです。 その他の商品1つとそれぞれ特定商品1つの購入があったときは それぞれの特定商品の送料を反映したいです。 以前は、商品登録「admin.cgi」ファイルだと思いますのところで 「特定商品」という項目を作成していただいて、 チェックボックスで特定商品かどうかを指定していました。 |
| 【No.28999】 2025/6/16(Mon) 14:36:41 Res |
| Re^3: Cart MAX ver.7.2の送料変更について 投稿者: えふ |
| cgi/lib/common2.cgi の一番下の 1; の上に %TOKU=( 'xs'=>1000, 's'=>1100, 'm'=>1200, 'l'=>1300, ); @toku_keys=('xs','s','m','l'); %TOKU_N=( 'n'=>'その他', 'xs'=>'特小', 's'=>'小', 'm'=>'中', 'l'=>'大', ); と追加 'xs'=>1000, 's'=>1100, 'm'=>1200, 'l'=>1300, ここのところに 上から 特小 小 中 大 の料金を設定します。 cgi/admin.cgiの 1553行 <tr> <td>特定商品</td><td><input type="checkbox" name="cool" value="1"${ck_c}> 特定商品にする</td> </tr> を EOM $tokuline=""; my $k; my $v; unshift(@toku_keys,""); foreach $k(@toku_keys){ $ck_toku=""; if($cool){ if($k eq $cool){ $ck_toku=" checked"; } } $v=$k; if($k eq ""){ $k="n"; } $tokuline.="<input type=\"radio\" name=\"cool\" value=\"$v\"${ck_toku}>$TOKU_N{$k} "; } print "<tr><td>特定商品</td><td>"; print $tokuline; print "</td> print <<EOM; と変更 管理画面の商品登録のところに 特定商品のラジオボタンがでますので 編集で特定商品を登録してください。 特定商品をクリアするときは「その他」にチェックを入れて登録してください。 特小から大までは登録した値にチェックが付きますが、 「その他」はチェックがつきません。 商品のページのHTMLソースを見て、 <input type="hidden" name="cool" value="xs"> のように特定商品が登録されていることを確認してください。 cgi/lib/functions.plの94行の $toku_count+=$amount; の下に $TOKU_CNT{$cl}+=$amount; と追加 225行の if(($toku_count > 1) && ($o_count <= 1)){ $p=950 * $toku_count; } elsif(($toku_count == 1) && ($o_count <= 1)){ $p=1000 * $toku_count; } else{ $p=950; } この部分を if(($toku_count > 1) && ($o_count <= 1)){ foreach(@toku_keys){ $p+=$TOKU{$_} * $TOKU_CNT{$_}; } } elsif(($toku_count == 1) && ($o_count <= 1)){ $p=1000 * $toku_count; } else{ $p=950; } と変更 以上です。 |
| 【No.29000】 2025/6/20(Fri) 2:46:51 Res |
| Re^4: Cart MAX ver.7.2の送料変更について 投稿者: mayu |
| ご対応・ご教授いただきましてありがとうございます。 ご教授いただきました内容で変更してみます。 |
| 【No.29001】 2025/6/20(Fri) 14:57:45 Res |
| Re^4: Cart MAX ver.7.2の送料変更について 投稿者: mayu |
| > cgi/admin.cgiの > 1553行 > > <tr> > <td>特定商品</td><td><input type="checkbox" name="cool" value="1"${ck_c}> 特定商品にする</td> > </tr> > > を > > EOM > $tokuline=""; > my $k; > my $v; > unshift(@toku_keys,""); > foreach $k(@toku_keys){ > $ck_toku=""; > if($cool){ > if($k eq $cool){ > $ck_toku=" checked"; > } > } > $v=$k; > if($k eq ""){ > $k="n"; > } > $tokuline.="<input type=\"radio\" name=\"cool\" value=\"$v\"${ck_toku}>$TOKU_N{$k} "; > } > print "<tr><td>特定商品</td><td>"; > print $tokuline; > print "</td> > print <<EOM; > > と変更 上記のように変更したのですが、管理画面を開こうとしたらエラーが出て 管理画面が開けませんでした。「505gi/admin.cgiの > 1553行 > > <tr> > <td>特定商品</td><td><input type="checkbox" name="cool" value="1"${ck_c}> 特定商品にする</td> > </tr> > > を > > EOM > $tokuline=""; > my $k; > my $v; > unshift(@toku_keys,""); > foreach $k(@toku_keys){ > $ck_toku=""; > if($cool){ > if($k eq $cool){ > $ck_toku=" checked"; > } > } > $v=$k; > if($k eq ""){ > $k="n"; > } > $tokuline.="<input type=\"radio\" name=\"cool\" value=\"$v\"${ck_toku}>$TOKU_N{$k} "; > } > print "<tr><td>特定商品</td><td>"; > print $tokuline; > print "</td> > print <<EOM; > > と変更 上記のように変更したのですが、管理画面を開こうとしたらエラーが出て 管理画面が開けませんでした。 どのようにしたら良いでしょうか? よろしくお願いいたします。 |
| 【No.29002】 2025/6/20(Fri) 17:28:20 Res |