バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > EC CUBE3.0で送料の計算方法をカスタマイズしたい

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
madoka
投稿日時: 2017/2/2 9:38
対応状況: −−−
半人前
登録日: 2016/2/15
居住地:
投稿: 23
Re: EC CUBE3.0で送料の計算方法をカスタマイズしたい
お返事、ご指摘ありがとうございます。

変更した箇所は 514行目あたりからの処理で
public function getNewShipmentItem(Order $Order, Product $Product, ProductClass $ProductClass, $quantity)
{
の中にある
$productDeliveryFeeTotal = 0;
if (!is_null($this->BaseInfo->getOptionProductDeliveryFee())) {
$productDeliveryFeeTotal = $ProductClass->getDeliveryFee() * $quantity;
}
$Shipping->setShippingDeliveryFee($Shipping->getShippingDeliveryFee() + $productDeliveryFeeTotal);

の部分を変更して下記のようにしました。

$productDeliveryFeeTotal = 0;
if (!is_null($this->BaseInfo->getOptionProductDeliveryFee())) {
$productDeliveryFeeTotal = $Shipping->getDeliveryFee()->getFee() * $quantity + $ProductClass->getDeliveryFee() * $quantity;
}
$Shipping->setShippingDeliveryFee($Shipping->getShippingDeliveryFee() + $productDeliveryFeeTotal);

すると、1種類の商品が数個入っている場合には意図した計算になります。
2種類以上の商品が入った場合、何故か送料が1回多く加算されてしまう感じです。

ご指摘の箇所も何度か色々変更してみたのですが、注文内容確認画面で数字の変動が見られず送料も1個分しか計算されませんでした...

すぐ下の
/**
* お届け先ごとの送料合計を取得
*
* @param $shippings
* @return int
*/
public function getShippingDeliveryFeeTotal($shippings)
{
$deliveryFeeTotal = 0;
foreach ($shippings as $Shipping) {
$deliveryFeeTotal += $Shipping->getShippingDeliveryFee();
}

return $deliveryFeeTotal;

}

の部分や

/**
* 商品ごとの配送料を取得
*
* @param Shipping $Shipping
* @return int
*/
public function getProductDeliveryFee(Shipping $Shipping)
{
$productDeliveryFeeTotal = 0;
$shipmentItems = $Shipping->getShipmentItems();
foreach ($shipmentItems as $ShipmentItem) {
$productDeliveryFeeTotal += $Shipping->getDeliveryFee()->getFee() * $ShipmentItem->getQuantity();
}
return $productDeliveryFeeTotal;
}

の部分も変動したらわかると思って、下記のように Quantity を消してみたり
foreach ($shipmentItems as $ShipmentItem) {
$productDeliveryFeeTotal += $Shipping->getDeliveryFee()->getFee();

と、変更してみたのですが、やはり注文内容確認画面の数字は変動しませんでした...
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   EC CUBE3.0で送料の計算方法をカスタマイズしたい madoka 2017/1/31 16:09
     Re: EC CUBE3.0で送料の計算方法をカスタマイズしたい 468 2017/2/2 2:34
     » Re: EC CUBE3.0で送料の計算方法をカスタマイズしたい madoka 2017/2/2 9:38
         Re: EC CUBE3.0で送料の計算方法をカスタマイズしたい 468 2017/2/2 12:55
           Re: EC CUBE3.0で送料の計算方法をカスタマイズしたい madoka 2017/2/2 16:24

 



ログイン


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

統計情報

総メンバー数は89,201名です
総投稿数は110,047件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1650
8
red
1570
9
mcontact
1299
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
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.