オープンソースの販売サイト構築ソフト EC-CUBE についてのメモ。

都道府県・重量別送料

想定ケース

  • 商品登録で「商品送料」の項目(本来は金額)に商品の重量(g単位)を入力してある
  • 運送業者は1つ
    • (参考) 複数の運送業者に対応したバージョンは、SEA-CUBE へ出品しています。
  • 下記の送料
地域 2kg以内 5kg以内 5kgを超える
東京都内 ¥500 ¥600 ¥700
北海道・沖縄県 ¥1,000 ¥1,200 ¥1,400
上記以外 ¥700 ¥800 ¥900
  • 送料はソースコードに直書きする
    • (参考) 管理画面から設定できるタイプは、SEA-CUBE へ出品しています。

構成情報

  • EC-CUBE 2.3.3-comu r17971
    • (参考) 最新の EC-CUBE に対応したバージョンは、SEA-CUBE へ出品しています。

パラメータ

  • OPTION_PRODUCT_DELIV_FEE = 1
  • OPTION_DELIV_FEE = 0

ファイル

data/class_extends/helper_extends/SC_Helper_DB_Ex.php

class SC_Helper_DB_Ex extends SC_Helper_DB {
 
    function lfCalcAllProductsDelivFee(&$arrData, &$objCartSess) {
        // 商品送料に入力された金額を重量(g)とみなして取得
        $weight = parent::lfCalcAllProductsDelivFee($arrData, $objCartSess);
 
        // 都道府県と重量に応じた送料を返す
        switch ($arrData['deliv_pref']) {
            case 13: // 東京都
                if ($weight <= 2000) return 500;
                if ($weight <= 5000) return 600;
                return 700;
            case 1:  // 北海道
            case 47: // 沖縄県
                if ($weight <= 2000) return 1000;
                if ($weight <= 5000) return 1200;
                return 1400;
            default: // 他
                if ($weight <= 2000) return 700;
                if ($weight <= 5000) return 800;
                return 900;
        }
    }
}

拡張/都道府県・重量別送料.txt · 最終更新: 2011/12/15 13:17 by seasoft
© 2008-2017 Seasoft.