バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
akiakihi
投稿日時: 2019/6/16 1:36
対応状況: −−−
一人前
登録日: 2014/7/17
居住地: 兵庫県
投稿: 89
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ペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は64,440名です
総投稿数は97,261件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
468
2494
4
nanasess
2089
5
umebius
1650
6
yuh
1612
7
red
1411
8
h_tanaka
1029
9
fukap
907
10
tsuji
863
11
shutta
835
12
tao_s
792
13 ramrun 789
14 karin 657
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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