EC-CUBEで離島の送料を計算する場合

あくまでメモ程度です。



data/class_extends/page_extends/shopping/LC_Page_Shopping_Confirm_Ex.php


data/class_extends/pages/shopping/LC_Page_Shopping_Confirm.php
からaction()の中身を丸々取ってきて、そのまま入れる。(元のaction()を引き継がない形になる)

//actionの中身を追加
function action() {
・・・
}

その後、追加した

$this->arrForm = array_merge($arrOrderTemp, $arrCalcResults);

のすぐ上に、

//離島の計算(500円追加する)
$ritouFee = 500;
foreach($this->arrShipping as $aSv) {
  $zipcode = $aSv['shipping_zip01'].'-'. $aSv['shipping_zip02'];
  $fp = fopen(DATA_REALDIR . 'downloads/ritou.csv',"r");
  while($data = fgetcsv($fp)){
    if($data[0] == $zipcode) {
      $arrCalcResults['deliv_fee'] += $ritouFee;
      $arrCalcResults['total'] += $ritouFee;
      $arrCalcResults['payment_total'] += $ritouFee;
      break;
    }
  }
}

を入れる。

data/downloads/ritou.csv
を作り、中に離島の郵便番号を一行ずつ入れる

043-1401
043-1402
…

これでいけました。