質問 > フロント機能 > 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 |