バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > EC-CUBE3で購入金額ごとに送料値引き・無料にしたい

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
akiakihi
投稿日時: 2019/6/16 1:36
対応状況: −−−
一人前
登録日: 2014/7/17
居住地: 兵庫県
投稿: 91
Re: EC-CUBE3で購入金額ごとに送料値引き・無料にしたい
こんにちは

うまく金額が表示されないので、お手数ですがまた教えていただけますでしょうか。

現状、下記のコードで運用していますが、
最初にデフォルトで配送方法としてクリックポストが選択されており、購入金額が3000円以上の場合は0円、3000円以下の場合送料は185円、と記載されています。

そこから、どの配送方法に変更しても送料金額は変わらず、
次に支払い方法を選んだ際にはじめて、レターパックと定形外郵便については正しい送料に変更されるのですが、
ゆうパックについては、送料がデフォルト表示のままで変わりません。

これを、はじめに配送方法は触らず、支払い方法を先に選ぶと、どの送料も正しく表示されます。

また一旦正しい金額になると、以後 配送方法を変更しても、送料はそれぞれ配送法に応じた正しい金額が表示されるようになります。
(値引きもきちんとされています)


購入時、画面の表示に従って、最初に発送方法でゆうパックを選び、次に支払い方法を選択してそのまま決済されると、送料が0円もしくは185円のままになってしまいます


お忙しいところを恐縮ですが、解決策についてご教授いただけませんでしょうか


($deliv_id==1と2はサンプル業者(DBで削除できずそのまま))

$deliv_id==3 :クリックポスト(一律185円)←デフォルト表示
$deliv_id==4 レターパックプラス(一律510円)
$deliv_id==5 ゆうパック(都道府県により異なる)
(見にくいので下記コードから抜いていますが、他に$deliv_id==6として定形外を設定しています。)


    public function setDeliveryFreeAmount(Order $Order)
    {
        // 配送料無料条件(合計金額)
        $Shipping = $Order->getShippings()->first();
		$deliv_id = $Shipping->getDelivery()->getId();
        $deliveryFreeAmount = $this->BaseInfo->getDeliveryFreeAmount();
        if (!is_null($deliveryFreeAmount)) {
            // 合計金額が設定金額以上であれば送料無料
			 if ($Order->getSubTotal() <= 3000) {
           	    if($deliv_id==3 ) $Order->setDeliveryFeeTotal(185);
           	    if($deliv_id==4 ) $Order->setDeliveryFeeTotal(510);
           	    if($deliv_id==5 ) $Order->setDeliveryFeeTotal($Order->getDeliveryFeeTotal());           	               	    
           }else if ($Order->getSubTotal() <= 6999) {
           	    if($deliv_id==3 ) $Order->setDeliveryFeeTotal(0);           	    
           	    if($deliv_id==4 ) $Order->setDeliveryFeeTotal(310);
           	    if($deliv_id==5 ) $Order->setDeliveryFeeTotal($Order->getDeliveryFeeTotal() - 200);           	    
           }else if ($Order->getSubTotal() <= 16666) {
           	    if($deliv_id==3 ) $Order->setDeliveryFeeTotal(0);           	    
           	    if($deliv_id==4 ) $Order->setDeliveryFeeTotal(0);             	    
           	    if($deliv_id==5 ) $Order->setDeliveryFeeTotal($Order->getDeliveryFeeTotal() - 510);
           }else{
           		$Order->setDeliveryFeeTotal(0);
           	
 
                // お届け先情報の配送料も0にセット
                $shippings = $Order->getShippings();
                foreach ($shippings as $Shipping) {
                    $Shipping->setShippingDeliveryFee(0);
                }
            }
        }
    }
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   EC-CUBE3で購入金額ごとに送料値引き・無料にしたい akiakihi 2019/6/1 21:21
     Re: EC-CUBE3で購入金額ごとに送料値引き・無料にしたい umebius 2019/6/2 0:56
       Re: EC-CUBE3で購入金額ごとに送料値引き・無料にしたい akiakihi 2019/6/2 1:39
         Re: EC-CUBE3で購入金額ごとに送料値引き・無料にしたい umebius 2019/6/2 2:00
         » Re: EC-CUBE3で購入金額ごとに送料値引き・無料にしたい akiakihi 2019/6/16 1:36
             Re: EC-CUBE3で購入金額ごとに送料値引き・無料にしたい akiakihi 2019/6/16 21:01

 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1286
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.