バージョン選択

フォーラム

メニュー

オンライン状況

70 人のユーザが現在オンラインです。 (62 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 70
もっと...

サイト内検索

質問 > フロント機能 > 枚数による値段の変更

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
gabriel
投稿日時: 2011/12/8 14:30
対応状況: −−−
常連
登録日: 2011/8/18
居住地:
投稿: 35
枚数による値段の変更
いつもお世話になっております。

ECCUBEにて、トレーディングカードの販売をしようとしています。
その際に枚数によって、値段を上下させたいと考えております。

簡単にいうと、通常400円の商品が30枚を超えると200円になるという仕様です。

なので、400円の商品を29枚買えば、11600円ですが、あと一枚買って30枚になったら6000円(200円*30)まで値下げするという仕様です。

合計枚数をカウントして、それによって値段を上下させるのだろうとは思いますが、やり方がいまいちわかりません。

申し訳ありませんが、ご教授お願い致します。

[EC-CUBE] 2.11.4(新規インストール)
[レンタルサーバ] localhost
[OS] Windows
[PHP] 5.11.6
[データベース] MySQL 5.1.34
[WEBサーバ] Apache
[ブラウザ] Firefox6.0.2
nkta
投稿日時: 2011/12/8 19:59
対応状況: −−−
長老
登録日: 2011/5/20
居住地: 東京
投稿: 166
Re: 枚数による値段の変更
「どの商品が」「何枚購入されたら」「いくら値引きするのか」というデータを
どのように設定・保持・呼び出すか?というあたりが肝じゃないかなと思います。

・値引きを行なうのは特定の商品だけですか?全商品共通ですか?
・商品によって値引き額・値引き対象枚数が異なるケースは存在しますか?
・値引き対象となる枚数の設定は管理画面から行なえるようにしますか?

ぱっと思いつく限り、このへんの仕様が確定しないと実装が難しい気がします。

※ カート内商品の集計は data/class/SC_CartSession.php 166行目のgetAllProductsTotal()で行なっています。
上記の仕様が固まったら、この部分を変更することになります。
gabriel
投稿日時: 2011/12/8 20:08
対応状況: −−−
常連
登録日: 2011/8/18
居住地:
投稿: 35
Re: 枚数による値段の変更
お返事ありがとうございます。
お手数をおかけして申し訳ありません。

>値引きを行なうのは特定の商品だけですか?全商品共通ですか?
値引きを行うのは全ての商品になります。

>商品によって値引き額・値引き対象枚数が異なるケースは存在しますか?
異なるケースはありません。全ての商品は400円で、一定枚数を超えた場合は半額の料金となります(購入しているものも半額です)

>値引き対象となる枚数の設定は管理画面から行なえるようにしますか?
管理画面から行えるに超したことはありませんが、難しいのであれば、それはしなくても問題ありません。

と、このような仕様になります。

宜しくお願い致します。
nkta
投稿日時: 2011/12/8 21:38
対応状況: −−−
長老
登録日: 2011/5/20
居住地: 東京
投稿: 166
Re: 枚数による値段の変更
明確な返答ありがとうございます。

で、「購入枚数が30枚以上の商品は半額にする」という処理を書いてみました。

ちなみに変更箇所は166行目のgetAllProductsTotal()ではなく、333行目のgetCartList()でした。失礼しました。
                // 値引きの対象となる枚数
                $discount_quantity = 30;

                // 値引き率(%)
                $discount_rate = 50;

                // 値引き対象となる枚数を超えていたら、値引き計算後の単価で商品情報を上書きする
                if ($quantity >= $discount_quantity) {
                    $price = $price / 100 * $discount_rate;
                    $this->cartSession[$productTypeId][$i]['price'] = $price;
                }

上記のコードを、data/class/SC_CartSession.php 351行目と352行目の間に入れればOKです、多分。
動作チェックをくまなく実施しているわけではないので、その点はご了承ください…

※ 変数$discount_quantityと$discount_rateの値を書き換えれば、値引き対象枚数と値引き率だけは自由にいじれます。
gabriel
投稿日時: 2011/12/9 13:37
対応状況: 解決済
常連
登録日: 2011/8/18
居住地:
投稿: 35
Re: 枚数による値段の変更
返信ありがとうございます。

一つの商品が30枚を超えると確かに減額にはなりますが、
二つの商品を15枚ずつ購入しても減額にはなりませんでした。。。

全ての商品の合計が30枚を超えた時点で、全ての商品が半額(200円引き)になる様には出来ませんか??

すみませんが宜しくお願い致します。
gabriel
投稿日時: 2011/12/10 18:28
対応状況: 確認中
常連
登録日: 2011/8/18
居住地:
投稿: 35
Re: 枚数による値段の変更
>すみません。解決したかと思いましたが、解決しておりませんでした。


返信ありがとうございます。

一つの商品が30枚を超えると確かに減額にはなりますが、
二つの商品を15枚ずつ購入しても減額にはなりませんでした。。。

全ての商品の合計が30枚を超えた時点で、全ての商品が半額(200円引き)になる様には出来ませんか??

すみませんが宜しくお願い致します。
nkta
投稿日時: 2011/12/14 14:50
対応状況: −−−
長老
登録日: 2011/5/20
居住地: 東京
投稿: 166
Re: 枚数による値段の変更
ちょっと手が空かず、こちらに顔を出しにくい状態です
半端な状態で放置してしまってすみませんすみません…

コードはまた書き直してみますので、あと数日お待ちください…
EGZ10
投稿日時: 2011/12/14 15:45
対応状況: −−−
半人前
登録日: 2011/10/14
居住地:
投稿: 21
Re: 枚数による値段の変更
nktaさんが提示してくれているカスタマイズで、個々の商品点数の計に対しては希望通りに割引動作ができているのですから、「合計数量」に同様の割引動作をしてあげればいけるのではないでしょうか。
「合計数量」は現在のカゴの中で表示されていますので、この数値がどのような変数を使われて表示されているのかテンプレート等を調べてみて、その変数に対してこれまでnktaさんが提示してくれているカスタマイズ動作を適用してあげれば良いと思います。

動作過程において表示される各データや数値を割引や条件で変更させたいというカスタムをする場合、まずそのデータや数値が表示されているテンプレートをみてどんな変数が使われているか調べます。つぎにその変数がプログラムのどこに現れるかテキスト検索して見つければ、どういう過程を経て表示されているか理解できるはずです。
habu
投稿日時: 2011/12/20 20:16
対応状況: −−−
長老
登録日: 2006/9/15
居住地:
投稿: 282
Re: 枚数による値段の変更
ご参考までに、
商品価格自体を半額にする方法の他に、値引き額を設定する方向もあるかと思います。

例えば以下のページでは、全商品n%割引設定を行なうカスタマイズの紹介がされています。
http://ks-d-k.com/ks_blog/?p=317

このカスタマイズに、「合計数量が30枚以上であれば」という条件を加える事で実現できそうですね。

こちらの改造方法だと、値引き額が表示されるので、オトク感が増すのではないかなと思いました。


----------------
株式会社システムフレンド
羽生 賢太郎(Kentaro Habu)
改造専門店・EC-CUBE工房

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,720名です
総投稿数は109,952件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1285
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.