質問 > フロント機能 > 複数商品を購入したときの送料について |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
KnZ |
投稿日時: 2020/3/26 13:15
対応状況: 解決済
|
新米 登録日: 2020/3/25 居住地: 投稿: 2 |
Re: 複数商品を購入したときの送料について ご教示いただき、ありがとうございます。
ご指摘いただいた箇所が問題だったようで、 教えていただいた内容を反映したところ、問題なく動作しました。 開発周りが詳しくないため、とても助かりました。 ありがとうございました! |
468 |
投稿日時: 2020/3/26 10:51
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 複数商品を購入したときの送料について ソース全体が見えていないので何とも言えませんが
追記された foreach ($Shipping->getOrderItems() as $item) { $DeliveryFeeTotal = $DeliveryFee->getFee() * $item->getQuantity(); } の$DeliveryFeeTotalに値を代入する部分が $DeliveryFeeTotal = x と常に上書きになっているので 合計されず、どちらかの商品の送料になっているのではないでしょうか? $DeliveryFeeTotal += ($DeliveryFee->getFee() * $item->getQuantity()); で記述すれば商品毎の送料が合計されていくのではないかと思います。
|
KnZ |
投稿日時: 2020/3/25 19:25
対応状況: −−−
|
新米 登録日: 2020/3/25 居住地: 投稿: 2 |
複数商品を購入したときの送料について 商品が大型のものになるため、商品個数分の送料が加算されるように設定したいです。
配送方法設定で都道府県別に送料を設定しています。 過去のスレッドを拝見して、 /src/Eccube/Service/PurchaseFlow/Processor/DeliveryFeePreprocessor.php のファイルをカスタマイズして、 // 都道府県送料 * 個数 foreach ($Shipping->getOrderItems() as $item) { $DeliveryFeeTotal = $DeliveryFee->getFee() * $item->getQuantity(); } と追加したうえで, ->setPrice($DeliveryFeeTotal + $deliveryFeeProduct) ->setQuantity(1) とすることで、同じ商品を複数個購入した場合の送料の加算は問題なく対応できました。 しかし、 2種類の商品を一度にカートに入れて購入しようとした場合、 例) 商品A :2個購入(送料1000円X2) 商品B :1個購入(送料1000円X1) ご注文手続きの画面では、送料2,000円と表示され、 ご注文内容確認画面では、送料1,000円と表示されます。 最終的に購入に進むと、受注データには送料が1,000円で反映されています。 複数の商品を同時に購入する場合にも全ての商品の個数分、 送料を加算したいのですが、どのように設定すれば良いでしょうか。 どなたか教えていただけないでしょうか。 ---- [EC-CUBE] EC-CUBE4.0.3 [PHP] 7.2.29 [データベース] MySQL 5.1.73 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |