質問 > フロント機能 > 送料を個数ごとに加算したい |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
NAUTICA |
投稿日時: 2019/9/18 10:12
対応状況: −−−
|
新米 登録日: 2019/9/18 居住地: 投稿: 4 |
送料を個数ごとに加算したい ▼テンプレート
[EC-CUBE] 4.0.3 [現象] 都道府県別に送料を設定しています。大型商品1個(1梱包)あたりの送料です。 それで数量が増えた場合は,送料も個数分になるようにしたいです。 調べていったところ以下のファイルをカスタマイズすればいいというところまではわかりました。 /src/Eccube/Service/PurchaseFlow/Processor/DeliveryFeePreprocessor.php 139行目の -->setQuantity(1)を, $quantity = $Order->getQuantity(); としたうえで ->setQuantity($quantity)などしてみましたが,数量が1個多く計算されてしまいます。 4.x系の情報があまりなく,DeliveryFeePreprocessor.phpがどういう処理をしているのかもいまいち理解できていません。 どなたか教えていただけないでしょうか。 |
sw_tm |
投稿日時: 2019/9/18 10:30
対応状況: −−−
|
常連 登録日: 2018/5/25 居住地: 投稿: 43 |
Re: 送料を個数ごとに加算したい 送料を変更したいのであれば、138行目のsetPriceを変更する必要があります。
また送料の金額決定するロジックの変更については、119-128行目を見直してみてください。 |
NAUTICA |
投稿日時: 2019/9/20 16:17
対応状況: −−−
|
新米 登録日: 2019/9/18 居住地: 投稿: 4 |
Re: 送料を個数ごとに加算したい ヒントありがとうございます。
個数を掛けたいのは都道府県送料だったので, 131-134行目の処理の後に, // 都道府県送料 * 個数 foreach ($Shipping->getOrderItems() as $item) { $DeliveryFeeTotal = $DeliveryFee->getFee() * $item->getQuantity(); } と追加したうえで, ->setPrice($DeliveryFeeTotal + $deliveryFeeProduct) ->setQuantity(1) としてうまく計算されるようになりました! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |