バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

フロント機能

新規スレッドを追加する

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

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


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,282名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

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

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