質問 > フロント機能 > 同一商品の送料乗算設定に関して |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
yanor |
投稿日時: 2020/7/31 21:46
対応状況: −−−
|
新米 登録日: 2020/7/31 居住地: 投稿: 5 |
同一商品の送料乗算設定に関して [EC-CUBE] 4.0.3
[レンタルサーバ] さくらレンタルサーバ [OS] FreeBSD [PHP] 7.2.31 [データベース] MySQL 5.7.28 [WEBサーバ] Apache 商品購入時にカート上で同一商品を複数購入した場合 ご注文手続きにおける送料合計を{送料*商品数}としたいのですが、同一送付先の場合マージされてしまい送料*1となってしまいます。 (例) 送付先A 送料:1150円 送付先B 送料:1150円 商品を2個購入した場合 【パターン1】 送付先A*1個,送付先B*1個 ⇒送料は2300円 【パターン2】 送付先A*2個 ⇒送料は1150円 【期待値】 パターン2でも送料は2300円 [試したこと] ドキュメントサイトを確認し、 「同じ商品・同じ商品規格として明細がマージされている」ためかと思い、 Service/CartService.php から明細マージ処理をコメントアウト =================== if ($this->cartItemComparator->compare($item, $itemInArray)) { $itemInArray->setQuantity($itemInArray->getQuantity() + $item->getQuantity()); $itemExists = true; break; } =================== 明細は分かれたのですが、ご注文手続きに進むと 改修前同様に送料が配送先が同一だと商品の個数に関わらず 送料が1か所となりました。 上記例と同じ条件で商品購入したところ、 送付先A*1 送付先A*1 と明細は分かれましたが ⇒送料は1150円 送料計算のマージ処理は別のカスタマイズが必要ということでしょうか。 |
umebius |
投稿日時: 2020/8/2 11:15
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 同一商品の送料乗算設定に関して 送料の計算はカスタマイズされていないということであれば、
標準の仕様とは異なると思いますのでカスタマイズが必要かと思います。 DeliveryFeePreprocessorで商品ごとに計算すれば良いのではないでしょうか。
|
yanor |
投稿日時: 2020/8/2 12:04
対応状況: 解決済
|
新米 登録日: 2020/7/31 居住地: 投稿: 5 |
Re: 同一商品の送料乗算設定に関して ご確認ありがとうございます。
DeliveryFeePreprocessorの 139行目にて数量を1固定にしていることを確認できました。 該当箇所をカスタマイズいたします。 $OrderItem->setProductName($DeliveryFeeType->getName()) ->setPrice($DeliveryFee->getFee() + $deliveryFeeProduct) ★ ->setQuantity(1) ->setOrderItemType($DeliveryFeeType) ->setShipping($Shipping) ->setOrder($itemHolder) ->setTaxDisplayType($TaxInclude) ->setTaxType($Taxation) ->setProcessorName(DeliveryFeePreprocessor::class); |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |