EC-CUBE4で特定の県のみ送料無料条件を変更する方法
EC-CUBEでは0,000円以上購入で送料無料にするという設定は出来ますが、
特定の都道府県のみ条件を変更する、という設定はありません。
そこで、phpファイルのカスタマイズで実現する方法をご紹介します。
やりたいこと
購入金額が7,700円(税込)以上で送料無料にする
北海道、沖縄県のみ、購入金額が13,200円(税込)以上で送料無料にする
基本の送料無料条件設定をする
設定 > 店舗設定 > 基本設定 と進む
送料設定の送料無料条件(金額)を¥7,700に設定
phpファイルのカスタマイズ
src/Eccube/Service/PurchaseFlow/Processor/DeliveryFeeFreeByShippingPreprocessor.php
を編集します。
※必ずバックアップをとっておきましょう。
66行目付近を以下のように修正します。
・修正前
1 2 3 4 5 6 |
// 送料無料(金額)を超えている if ($this->BaseInfo->getDeliveryFreeAmount()) { if ($total >= $this->BaseInfo->getDeliveryFreeAmount()) { $isFree = true; } } |
・修正後
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// 送料無料(金額)を超えている if ($this->BaseInfo->getDeliveryFreeAmount()) { if ($total >= $this->BaseInfo->getDeliveryFreeAmount()) { if (in_array($Shipping->getPref()->getId(), [1,47]) ) { // 北海道、沖縄 13200円 if ($total >= 13200) { $isFree = true; } } else { if ($total >= 7700) { $isFree = true; } } } } |
getId(), [1,47] の箇所には都道府県のidを入れます。
購入テストをして、意図する計算になっていれば、完了となります。