カレッヂ |
質問者 まっちゃん
投稿日 3/28(水) 19:42:20
簡易ショッピングバスケットを使っているのですが 2個以上お買い上げの方には1個につき500円の値引きに設定する方法って出来るのでしょうか? 例) 商品名 単価 数量 小計 ━━━━━━━━━━━━━━━━━━━ 商品A 5000 1 5,000 商品B 6000 1 6,000 商品C 4500 1 4,500 まとめ買い値引き 500 2 -1,000 ━━━━━━━━━━━━━━━━━━━ 税込み合計 14,500 という様にしたいのですが、可能なのでしょうか? cargo.cgiの中でいじりたいのですが、どこをいじればいいのかよくわかりません。 各ページに{unit2}を持たしてする方法も考えたのですが、 見た目上、値引きされているとわかるような表示(上記のような) をさせたいのですが、どなたかわからないでしょうか? |
回答者 fujioka
[削除]
投稿日 3/30(金) 02:25:01
こんなかんじでどうでしょう。ちょっとワークが効率悪し。 テストはここです。 http://www.interq.or.jp/osaka/interest/cgi-bin/index.html <01>先頭でワーク宣言 #---------- $nebiki = -500; # 値引額 (マイナスをつけて下さい) $sousu = 0; # 買い上げ数量計算ワーク (総数) $nsuryo = 0; # 値引き数量計算ワーク (総数マイナス1) $matome = 1; # 最低まとめ数 (以上が値引き対象) $nebikigak = 0; # 値引額 (値引額*値引き数量計算ワーク) $nebikigo = 0; # 値引後合計 (合計金額マイナス値引額) #---------- <02>売上数のカウント(明細を表示しているところに行追加) #--start---- $sousu = $sousu + $COOKIE{'amount'}; #--end------ print "<tr>\n"; print "<th>$COOKIE{'goods'}</th>\n"; print "<th>$COOKIE{'unit'}</th>\n"; print "<th>$COOKIE{'amount'}</th>\n"; print "<th>$COOKIE{'rem'}</th>\n"; print "<th>$shoukei2</th>\n"; <03>値引額の計算(存在チェックのELSEに行追加) if (!$sonzai) { print "<h3>現在注文票には何も選択されていません.</h3>\n"; print "<h3>[<a href=\"$modoru\">商品選択画面へ</a>]</h3>\n"; print "または<p>ブラウザの[戻る]ボタンを押して前の画面に移動してください.<p><br>\n"; } else { #--start------ if ( $sousu > $matome ) { $nsuryo = $sousu - 1; $nebikigak = $nebiki * $nsuryo; $nebikigo = int($zeibetsu_goukei + $nebikigak); $zeibetsu_goukei = $nebikigo; $zeibetsu_goukei2 = $nebikigo; 1 while $nebikigo =~ s/(.*\d)(\d\d\d)/$1,$2/g; 1 while $nebikigak =~ s/(.*\d)(\d\d\d)/$1,$2/g;} #--end-------- <04>値引額表示(合計を表示しているあたりに行追加) #--start------ if ( $sousu > $matome ) { print "<tr><th bgcolor=\"#ffaaaa\" >まとめ値引き</th> <th>$nebiki</th><th>$nsuryo</th><th> </th><th>$nebikigak</tr>\n";} #-end--------- print "<tr><th bgcolor=\"#ffaaaa\" colspan=4>$zei合計</th> <th bgcolor=\"#ffaaaa\">$zeibetsu_goukei2円</th><th></th></tr>\n"; if ($taxrate != 0) { print "<tr><th bgcolor=\"#ffaaaa\" colspan=4> 消費税$taxrate\%($tax円)込み総合計</th><th bgcolor=\"#ffaaaa\"> $sougoukei円</th><th></th></tr>\n"; } <05>メール用に追加 foreach $mail (@MAIL) { ($A,$B,$C,$D) = split(/:/,$mail); print "<input type=hidden name=\"注文\" value=\"$A($D) x $B ( 備考:$C )\">\n"; } #--start------ if ( $sousu > $matome ) { print "<input type=hidden name=\"まとめ値引額\" value=\"$nebikigak円\">\n";} print "<input type=hidden name=\"合計\" value=\"$zeibetsu_goukei2円\">\n"; #--end------ if ($taxrate != 0) { print "<input type=hidden name=\"支払合計\" value=\"$sougoukei円(うち消費税$tax円)\">\n"; } |
質問者 まっちゃん
[削除]
投稿日 3/30(金) 10:02:57
fujioka様! ありがとうございます。 こんなとんでもない質問に、 こんなにご丁寧に解説いただけるなんて! ありがとうございます。 早速テストしてまた連絡させていただきます。 |
質問者 まっちゃん
[削除]
投稿日 3/30(金) 11:53:31
fujioka様 出来ました。完璧です。 全く思い通りのことが出来てとってもうれしいです。 ありがとうございました。 |
返信(回答)する
Web裏技 |