地域 | 2kg以内 | 5kg以内 | 5kgを超える |
---|---|---|---|
東京都内 | ¥500 | ¥600 | ¥700 |
北海道・沖縄県 | ¥1,000 | ¥1,200 | ¥1,400 |
上記以外 | ¥700 | ¥800 | ¥900 |
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; } } }
data/class_extends/helper_extends/SC_Helper_DB_Ex.php
class SC_Helper_DB_Ex extends SC_Helper_DB { function sfTotalConfirm($arrData, &$objPage, &$objCartSess, $arrInfo, $objCustomer = "") { $arrData['crg_pt'] = 0; // 送料点数合計 foreach ($objCartSess->getCartList() as $arrCart) { // 送料点数取得 $objQuery = new SC_Query(); $col = "crg_pt"; $table = "dtb_products_class"; $where = "product_id = ? AND classcategory_id1 = ? AND classcategory_id2 = ?"; list($product_id, $classcategory_id1, $classcategory_id2) = $arrCart['id']; if ($classcategory_id1 == "") $classcategory_id1 = '0'; if ($classcategory_id2 == "") $classcategory_id2 = '0'; $crg_pt = $objQuery->get($table, $col, $where, array($product_id, $classcategory_id1, $classcategory_id2)); $arrData['crg_pt'] += $crg_pt * $arrCart['quantity']; } return SC_Helper_DB::sfTotalConfirm($arrData, $objPage, $objCartSess, $arrInfo, $objCustomer); } function sfGetDelivFee($arrData) { switch ($arrData['deliv_pref']) { case 13: // 東京都 if ($arrData['crg_pt'] <= 100) return 500; if ($arrData['crg_pt'] <= 200) return 600; return 700; case 1: // 北海道 case 47: // 沖縄県 if ($arrData['crg_pt'] <= 100) return 1000; if ($arrData['crg_pt'] <= 200) return 1200; return 1400; default: // 他 if ($arrData['crg_pt'] <= 100) return 700; if ($arrData['crg_pt'] <= 200) return 800; return 900; } } }
ここまで HTML コメントアウト -->