質問 > フロント機能 > 送料値引きの方法 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
dl2008 |
投稿日時: 2019/8/22 17:03
対応状況: 開発中
|
半人前 登録日: 2018/9/29 居住地: 投稿: 16 |
送料値引きの方法 EC-CUBE 3.0.16
送料無料条件(金額)で金15000円と入力すると15000円以上の購入で送料が無料になります。 これを無料ではなくて500円値引きにしたいと考えています。 src/Eccube/Service/ShoppingService.php $Order->setDeliveryFeeTotal(0); ↓ $Order->setDeliveryFeeTotal($Order->getDeliveryFeeTotal() - 500); こんな感じにすると送料が1500円の場合、 「ご注文内容のご確認」ページ内では-500円された送料1000円が表示されますが 管理画面内の受注管理では送料が-500円と表示されてしまいます。 また、受注メール内の送料も-500円という表示になってしまいます。 どなたか受注管理や受注メール内でも正しい送料を表示する方法をご教示いただければと思います。 その後、諸々試行錯誤した結果以下が判明しました。 /** * 購入処理を行う */ にある // 受注情報、配送情報を更新 $Order = $this->calculateDeliveryFee($Order); これをキャンセルすれば希望通りに動くことは判明しました。 ↑は注文するボタンをクリックした時にDBのdtb_orderにあるdelivery_fee_totalを書き換える事も分かったのですがなんのために書き換えているのでしょうか? また、キャンセルしても問題はないでしょうか? どなたかご教示いただけますと助かります。 |
tsuji |
投稿日時: 2019/8/28 13:52
対応状況: −−−
|
仙人 登録日: 2013/11/19 居住地: 投稿: 958 |
Re: 送料値引きの方法 dl2008 様
これは注文確認画面で送料無料条件計算部分で dtb_orderの送料に-500円され、 dtb_shippingの送料が0円になり 注文ボタン押下時に配送先(dtb_shipping)の送料0円を合計した金額が 受注の送料となり、それに対して送料無料の計算が行われて -500円とされたために 最終的に-500円になったのだと思います。 それで対処方法ですが、 (実際には試していないので参考程度にしていただけたらと思いますが、 送料無料計算時には毎回送料の計算(商品送料と県別の送料を合算)して それに対して-500円するということをすると対応できるかもしれません。 もしくは他で値引き項目を利用されていなければ、 値引きに500円を入れるという手もあるかと思います。
|
dl2008 |
投稿日時: 2019/9/3 15:14
対応状況: −−−
|
半人前 登録日: 2018/9/29 居住地: 投稿: 16 |
Re: 送料値引きの方法 tsuji様
> dtb_orderの送料に-500円され、 > dtb_shippingの送料が0円になり なるほど!ありがとうございます。 // お届け先情報の配送料も0にセット $Shipping->setShippingDeliveryFee($Order->getDeliveryFeeTotal()+500); こんな感じで帳尻は合うのですがまずいでしょうか? また、割引の利用方法がイマイチ分からないのですが、差し支えなければご教授いただけますと幸いです。 お願いばかりで恐縮ですが宜しくお願い申し上げます。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |