[Svn-src-all:2724] [version-2_12-dev 21623] #1491 配送料金のカスタマイズを行いやすくする の対応
pingpong
admin @ mail.ec-cube.net
2012年 3月 9日 (金) 21:14:47 JST
Subversion committed to /home/svn/open 21623
http://svn.ec-cube.net/open_trac/changeset/21623
┌────────────────────────────┐
│更新者 : pingpong │
│更新日時: 2012-03-09 21:14:46 +0900 (金, 09 3月 2012)│
└────────────────────────────┘
Log:
--------------------------------------------------------
#1491 配送料金のカスタマイズを行いやすくする の対応
Changed: [U:修正,A:追加,D:削除]
--------------------------------------------------------
U branches/version-2_12-dev/data/class/SC_CartSession.php
U branches/version-2_12-dev/data/class/helper/SC_Helper_DB.php
変更: branches/version-2_12-dev/data/class/SC_CartSession.php
===================================================================
--- branches/version-2_12-dev/data/class/SC_CartSession.php 2012-03-09 08:47:50 UTC (rev 21622)
+++ branches/version-2_12-dev/data/class/SC_CartSession.php 2012-03-09 12:14:46 UTC (rev 21623)
@@ -623,7 +623,6 @@
function calculate($productTypeId, &$objCustomer, $use_point = 0,
$deliv_pref = '', $charge = 0, $discount = 0, $deliv_id = 0
) {
- $objDb = new SC_Helper_DB_Ex();
$total_point = $this->getAllProductsPoint($productTypeId);
$results['tax'] = $this->getAllProductsTax($productTypeId);
@@ -642,7 +641,7 @@
if (OPTION_DELIV_FEE == 1
&& !SC_Utils_Ex::isBlank($deliv_pref)
&& !SC_Utils_Ex::isBlank($deliv_id)) {
- $results['deliv_fee'] += $objDb->sfGetDelivFee($deliv_pref, $deliv_id);
+ $results['deliv_fee'] += $this->sfGetDelivFee($deliv_pref, $deliv_id);
}
// 送料無料チェック
@@ -739,4 +738,33 @@
function hasProductType($product_type_id) {
return in_array($product_type_id, $this->getKeys());
}
+
+ /**
+ * 都道府県から配送料金を取得する.
+ *
+ * @param integer|array $pref_id 都道府県ID 又は都道府県IDの配列
+ * @param integer $deliv_id 配送業者ID
+ * @return string 指定の都道府県, 配送業者の配送料金
+ */
+ function sfGetDelivFee($pref_id, $deliv_id = 0) {
+ $objQuery =& SC_Query_Ex::getSingletonInstance();
+ if (!is_array($pref_id)) {
+ $pref_id = array($pref_id);
+ }
+ $sql = <<< __EOS__
+ SELECT T1.fee AS fee
+ FROM dtb_delivfee T1
+ JOIN dtb_deliv T2
+ ON T1.deliv_id = T2.deliv_id
+ WHERE T1.pref = ?
+ AND T1.deliv_id = ?
+ AND T2.del_flg = 0
+__EOS__;
+ $result = 0;
+ foreach ($pref_id as $pref) {
+ $result += $objQuery->getOne($sql, array($pref, $deliv_id));
+ }
+ return $result;
+ }
+
}
変更: branches/version-2_12-dev/data/class/helper/SC_Helper_DB.php
===================================================================
--- branches/version-2_12-dev/data/class/helper/SC_Helper_DB.php 2012-03-09 08:47:50 UTC (rev 21622)
+++ branches/version-2_12-dev/data/class/helper/SC_Helper_DB.php 2012-03-09 12:14:46 UTC (rev 21623)
@@ -1195,34 +1195,6 @@
}
/**
- * 都道府県から配送料金を取得する.
- *
- * @param integer|array $pref_id 都道府県ID 又は都道府県IDの配列
- * @param integer $deliv_id 配送業者ID
- * @return string 指定の都道府県, 配送業者の配送料金
- */
- function sfGetDelivFee($pref_id, $deliv_id = 0) {
- $objQuery =& SC_Query_Ex::getSingletonInstance();
- if (!is_array($pref_id)) {
- $pref_id = array($pref_id);
- }
- $sql = <<< __EOS__
- SELECT T1.fee AS fee
- FROM dtb_delivfee T1
- JOIN dtb_deliv T2
- ON T1.deliv_id = T2.deliv_id
- WHERE T1.pref = ?
- AND T1.deliv_id = ?
- AND T2.del_flg = 0
-__EOS__;
- $result = 0;
- foreach ($pref_id as $pref) {
- $result += $objQuery->getOne($sql, array($pref, $deliv_id));
- }
- return $result;
- }
-
- /**
* レコードの存在チェックを行う.
*
* TODO SC_Query に移行するべきか?
Svn-src-all メーリングリストの案内