EC-CUBE 送料無料だが北海道と沖縄だけ送料を別にしたいとき

EC-CUBEで10500円以上送料無料なのですが、北海道と沖縄だけ別にしたい。

といったカスタマイズの要望がでてきました。

そこでググって検索してみると以下のファイルを修正することになることが判明。

/data/class/SC_CartSession.php

この650行目当たりに送料無料のロジックがある

送料無料チェック
if ($this->isDelivFree($productTypeId)) {
  $results['deliv_fee'] = 0;
}

results[‘deliv_fee’]が送料になると当たりを付ける。

$deliv_pref[0]の変数に都道府県が入っているようである。

送料無料チェック内に北海道と沖縄の判定ロジックを追加した。

// 送料無料チェック
if ($this->isDelivFree($productTypeId)) {
  switch ($deliv_pref[0]) {
  case 1: //北海道
    $results['deliv_fee'] = 650;
    break;
  case 47: //沖縄
    $results['deliv_fee'] = 550;
    break;
  default: // 他
    $results['deliv_fee'] = 0;
  }
}

これで簡単な検証をした結果問題ないことが判った。

タイトルとURLをコピーしました