バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 送料を個数ごとに加算したい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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
居住地:
投稿: 38
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)

としてうまく計算されるようになりました!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は66,753名です
総投稿数は98,439件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
468
2651
4
nanasess
2107
5
umebius
1758
6
yuh
1612
7
red
1424
8
h_tanaka
1049
9
fukap
907
10
tsuji
863
11
shutta
835
12
tao_s
792
13 ramrun 789
14 karin 657
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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