バージョン選択

フォーラム

メニュー

オンライン状況

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

PR

デザインテンプレート EC-CUBE3.0版が登場!
広告掲載について

サイト内検索

質問 > 管理機能 > EC-CUBE3.0で同一商品、個数ごとの送料の設定

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
shirout
投稿日時: 2018/1/5 3:14
対応状況: −−−
新米
登録日: 2018/1/5
居住地:
投稿: 2
EC-CUBE3.0で同一商品、個数ごとの送料の設定
はじめまして、EC-CUBE初心者です。
送料設定のカスタマイズ方法のアドバイスをお願いしたく、
書き込みさせていただきました。

こちらのフォームを何度か拝見させていただき、設定しましたが、お手上げ状態です。どうかよろしくお願いいたします。


<目的>

同じ商品を複数購入しても送料が1個分の送料の設定になっていて、
それを数量分の送料の設定にできれば、、と思っています。

<やってみた方法>


ShoppingService.php
の559行目あたり、

$productDeliveryFeeTotal = 0;
if ($this->BaseInfo->getOptionProductDeliveryFee() === Constant::ENABLED) {
$productDeliveryFeeTotal = $ProductClass->getDeliveryFee() * $quantity;
}

$Shipping->setShippingDeliveryFee($Shipping->getShippingDeliveryFee() + $productDeliveryFeeTotal);


をこちらのフォームで同じような現象で投稿している人参考にしながら、

$productDeliveryFeeTotal = $Shipping->getDeliveryFee()->getFee() * $quantity;

$Shipping->setShippingDeliveryFee($Shipping->getShippingDeliveryFee() + $productDeliveryFeeTotal);


に変更したところ
送料が個数よりも1個分多く設定されてしまい困っています。


大変お手数をおかけいたしますが、
ご教授お願いいたします。



[EC-CUBE] 3.0.15、新規インストール
[レンタルサーバ] Xserver
[OS] OSX Yosemite 10.10.5
[PHP] 7.0.18
[データベース] MySQL 5.7.16
[WEBサーバ] Apache
[ブラウザ] Safari
minori
投稿日時: 2018/1/5 18:52
対応状況: −−−
半人前
登録日: 2017/10/12
居住地:
投稿: 14
Re: EC-CUBE3.0で同一商品、個数ごとの送料の設定
都道府県ごとに送料設定されていたりしませんか?

動作確認までできていませんが、

$Shipping->setShippingDeliveryFee($Shipping->getShippingDeliveryFee() + $productDeliveryFeeTotal);

の$Shipping->getShippingDeliveryFee()で取得した値が0ではなく、
すでに送料計算された値が入っていたのではないでしょうか。

該当のメソッド「getNewShipmentItem」が呼び出される前に
一度送料計算するメソッド「setShippingDeliveryFee」が
呼び出されています。

/**
 * 配送料金の設定
 *
 * @param Shipping $Shipping
 * @param Delivery|null $Delivery
 */
public function setShippingDeliveryFee(Shipping $Shipping, Delivery $Delivery = null)
{
    // 配送料金の設定
    if (is_null($Delivery)) {
        $Delivery = $Shipping->getDelivery();
    }
    $deliveryFee = $this->app['eccube.repository.delivery_fee']->findOneBy(array('Delivery' => $Delivery, 'Pref' => $Shipping->getPref()));

    $Shipping->setDeliveryFee($deliveryFee);
    $Shipping->setDelivery($Delivery);

    // 商品ごとの配送料合計
    $productDeliveryFeeTotal = 0;
    if ($this->BaseInfo->getOptionProductDeliveryFee() === Constant::ENABLED) {
        $productDeliveryFeeTotal += $this->getProductDeliveryFee($Shipping);
    }

    $Shipping->setShippingDeliveryFee($deliveryFee->getFee() + $productDeliveryFeeTotal);
    $Shipping->setShippingDeliveryName($Delivery->getName());
}


ここで都道府県の送料を取得して
$Shipping->setShippingDeliveryFeeで設定しているように
見えます。

このあたりの処理を確認してみては
いかがでしょうか。
shirout
投稿日時: 2018/2/3 2:10
対応状況: −−−
新米
登録日: 2018/1/5
居住地:
投稿: 2
Re: EC-CUBE3.0で同一商品、個数ごとの送料の設定
大変お返事が遅くなってしまい申し訳ありません。
やっと作業をする時間ができたので報告です。

minoriさんのアドバイスを参考に、調整してみたところ、
送料が余計に1個分多くならなくなりました!
大変ありがとうございました!助かりました、、、。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

統計情報

総メンバー数は22,276名です
総投稿数は84,528件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1679
4
yuh
1467
5
red
1104
6
fukap
907
7
468
866
8
shutta
827
9
tsuji
815
10
umebius
814
11 ramrun 789
12
tao_s
651
13 karin 642
14 sumida 638
15
homan
633
16 DELIGHT 571
17
patapata
502
18
flealog
483
19 tonton 436
20
ecbg
387


ネットショップの壺

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

Copyright© LOCKON CO.,LTD. All Rights Reserved.