質問 > フロント機能 > 枚数による値段の変更2 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
gabriel |
投稿日時: 2011/12/11 15:18
対応状況: −−−
|
常連 登録日: 2011/8/18 居住地: 投稿: 35 |
枚数による値段の変更2 いつもお世話になっております。
ECCUBEにて、トレーディングカードの販売をしようとしています。 その際に枚数によって、値段を上下させたいと考えております。 簡単にいうと、通常400円の商品が30枚を超えると200円になるという仕様です。 なので、400円の商品を29枚買えば、11600円ですが、あと一枚買って30枚になったら6000円(200円*30)まで値下げするという仕様です。(あくまで合計ですので、400円の別々の商品を30枚買っても割引になります) 合計枚数をカウントして、それによって値段を上下させるのだろうとは思いますが、やり方がいまいちわかりません。 内容としては >値引きを行なうのは特定の商品だけですか?全商品共通ですか? 値引きを行うのは全ての商品になります。 >商品によって値引き額・値引き対象枚数が異なるケースは存在しますか? 異なるケースはありません。全ての商品は400円で、一定枚数を超えた場合は半額の料金となります(購入しているものも半額です) >値引き対象となる枚数の設定は管理画面から行なえるようにしますか? 管理画面から行えるに超したことはありませんが、難しいのであれば、それはしなくても問題ありません。 そして、以前ご教授頂いた際にdata/class/SC_CartSession.php 351行目と352行目の間に以下のコードを入れればOKとありましたが、一つの商品が30枚を超えると確かに減額にはなりますが、 二つの商品を15枚ずつ購入しても減額にはなりませんでした。 全ての商品の合計が30枚を超えた時点で、全ての商品が半額(200円引き)になる様には出来ませんでしょうか? // 値引きの対象となる枚数 $discount_quantity = 30; // 値引き率(%) $discount_rate = 50; // 値引き対象となる枚数を超えていたら、値引き計算後の単価で商品情報を上書きする if ($quantity >= $discount_quantity) { $price = $price / 100 * $discount_rate; $this->cartSession[$productTypeId][$i]['price'] = $price; } 申し訳ありませんが、ご教授お願い致します。 |
pingpong |
投稿日時: 2011/12/19 11:28
対応状況: −−−
|
長老 登録日: 2011/12/15 居住地: 投稿: 156 |
Re: 枚数による値段の変更2 一つの商品の場合可能で、複数の商品で出来ないのは、商品数量の判定が商品ごとになっているからではないでしょうか?
商品の個数を合計して判定を行えば出来るかと考えられます。 ※割引した際は割引金額に値をセッティングをお忘れなく。 枚数の設定や割引率の設定は定数に登録を行えば可能です。 テーブルmtb_constantsに追加を行えば、システム-パラメータ設定で変更可能です。 |
habu |
投稿日時: 2011/12/20 20:23
対応状況: −−−
|
長老 登録日: 2006/9/15 居住地: 投稿: 282 |
Re: 枚数による値段の変更2 同様の質問が複数のスレッドになっていると情報が分散して、
回答が重複してしまう事もあるので、 以下のスレッドのURLを貼り付けておきますね。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=9474&forum=10
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |