Changeset 18830 for branches/version-2_5-dev/data/class
- Timestamp:
- 2010/09/29 18:03:38 (16 years ago)
- bzr:base-revision:
- [email protected]
- bzr:committer:
- Kentaro Ohkouchi <[email protected]>
- bzr:file-ids:
data/Smarty/templates/default/cart/index.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fcart%2Findex.tpl
data/Smarty/templates/default/detail.tpl 15747@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fdetail.tpl
data/Smarty/templates/default/list.tpl 15747@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Flist.tpl
data/Smarty/templates/default/shopping/confirm.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fshopping%2Fconfirm.tpl
data/class/SC_CartSession.php 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2FSC_CartSession.php
data/class/helper/SC_Helper_DB.php 15176@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fhelper%2FSC_Helper_DB.php
data/class/pages/cart/LC_Page_Cart.php 15179@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fcart%2FLC_Page_Cart.php
data/class/pages/products/LC_Page_Products_Detail.php 15154@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fproducts%2FLC_Page_Products_Detail.php
data/class/pages/shopping/LC_Page_Shopping_Confirm.php 15223@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fshopping%2FLC_Page_Shopping_Confirm.php- bzr:mapping-version:
- v4
- bzr:repository-uuid:
- 1e3b908f-19a9-db11-a64c-001125224ba8
- bzr:revision-id:
- [email protected]
- bzr:revno:
- 2313
- bzr:revprop:branch-nick:
- branches/version-2_5-dev
- bzr:root:
- branches/version-2_5-dev
- bzr:timestamp:
- 2010-09-29 18:03:34.467999935 +0900
- bzr:user-agent:
- bzr2.2.0+bzr-svn1.0.3
- svn:original-date:
- 2010-09-29T09:03:34.468000Z
- Location:
- branches/version-2_5-dev/data/class
- Files:
-
- 5 edited
-
SC_CartSession.php (modified) (2 diffs)
-
helper/SC_Helper_DB.php (modified) (9 diffs)
-
pages/cart/LC_Page_Cart.php (modified) (4 diffs)
-
pages/products/LC_Page_Products_Detail.php (modified) (3 diffs)
-
pages/shopping/LC_Page_Shopping_Confirm.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/SC_CartSession.php
r18819 r18830 36 36 37 37 // 商品購入処理中のロック 38 function saveCurrentCart($key_tmp ) {38 function saveCurrentCart($key_tmp, $key) { 39 39 $this->key_tmp = "savecart_" . $key_tmp; 40 40 // すでに情報がなければ現状のカート情報を記録しておく 41 41 if(count($_SESSION[$this->key_tmp]) == 0) { 42 $_SESSION[$this->key_tmp] = $_SESSION[$ this->key];42 $_SESSION[$this->key_tmp] = $_SESSION[$key]; 43 43 } 44 44 // 1世代古いコピー情報は、削除しておく 45 foreach($_SESSION as $key => $val) { 46 if($key != $this->key_tmp && ereg("^savecart_", $key)) { 47 unset($_SESSION[$key]); 48 } 49 } 45 foreach($_SESSION as $k => $val) { 46 if($k != $this->key_tmp && preg_match("/^savecart_/", $k)) { 47 unset($_SESSION[$key][$k]); 48 } 49 } 50 $this->registerKey($key); 50 51 } 51 52 … … 362 363 } 363 364 } 365 366 function registerKey($key) { 367 $_SESSION['cartKey'] = $key; 368 } 369 370 function unsetKey() { 371 unset($_SESSION['cartKey']); 372 } 364 373 } 365 374 ?> -
branches/version-2_5-dev/data/class/helper/SC_Helper_DB.php
r18829 r18830 245 245 * @return LC_Page 集計処理後のページクラスインスタンス 246 246 */ 247 function sfTotalCart(&$objPage, $objCartSess, $dummy1 = null) { 248 249 // 規格名一覧 250 $arrClassName = $this->sfGetIDValueList("dtb_class", "class_id", "name"); 251 // 規格分類名一覧 252 $arrClassCatName = $this->sfGetIDValueList("dtb_classcategory", "classcategory_id", "name"); 253 254 $objPage->tpl_total_pretax = 0; // 費用合計(税込み) 255 $objPage->tpl_total_tax = 0; // 消費税合計 256 $objPage->tpl_total_point = 0; // ポイント合計 247 function sfTotalCart(&$objPage, $objCartSess, $dummy1 = null, $key = "") { 248 249 $objPage->tpl_total_pretax[$key] = 0; // 費用合計(税込み) 250 $objPage->tpl_total_tax[$key] = 0; // 消費税合計 251 $objPage->tpl_total_point[$key] = 0; // ポイント合計 257 252 258 253 $objProduct = new SC_Product(); … … 298 293 $arrQuantityInfo_by_product[$product_id]['name'] = $arrData['name']; 299 294 300 $objPage->arrProductsClass[$cnt] = $arrData;301 $objPage->arrProductsClass[$cnt]['quantity'] = $quantity;302 $objPage->arrProductsClass[$cnt]['cart_no'] = $arrCart['cart_no'];303 $objPage->arrProductsClass[$cnt]['class_name1'] =295 $objPage->arrProductsClass[$cnt][$key] = $arrData; 296 $objPage->arrProductsClass[$cnt]['quantity'][$key] = $quantity; 297 $objPage->arrProductsClass[$cnt]['cart_no'][$key] = $arrCart['cart_no']; 298 $objPage->arrProductsClass[$cnt]['class_name1'][$key] = 304 299 isset($arrData['class_name1']) 305 300 ? $arrData['class_name1'] : ""; 306 301 307 $objPage->arrProductsClass[$cnt]['class_name2'] =302 $objPage->arrProductsClass[$cnt]['class_name2'][$key] = 308 303 isset($arrData['class_name2']) 309 304 ? $arrData['class_name2'] : ""; 310 305 311 $objPage->arrProductsClass[$cnt]['classcategory_name1'] = $arrData['name1'];312 313 $objPage->arrProductsClass[$cnt]['classcategory_name2'] = $arrData['name2'];306 $objPage->arrProductsClass[$cnt]['classcategory_name1'][$key] = $arrData['name1']; 307 308 $objPage->arrProductsClass[$cnt]['classcategory_name2'][$key] = $arrData['name2']; 314 309 // 価格の登録 315 310 $objCartSess->setProductValue($arrCart['id'], 'price', $arrData['price02']); 316 $objPage->arrProductsClass[$cnt]['uniq_price'] = $arrData['price02'];311 $objPage->arrProductsClass[$cnt]['uniq_price'][$key] = $arrData['price02']; 317 312 // ポイント付与率の登録 318 313 if (USE_POINT !== false) { … … 320 315 } 321 316 // 商品ごとの合計金額 322 $objPage->arrProductsClass[$cnt]['total_pretax'] = $objCartSess->getProductTotal($arrCart['id']);317 $objPage->arrProductsClass[$cnt]['total_pretax'][$key] = $objCartSess->getProductTotal($arrCart['id']); 323 318 // 送料の合計を計算する 324 $objPage->tpl_total_deliv_fee += ($arrData['deliv_fee'] * $arrCart['quantity']);319 $objPage->tpl_total_deliv_fee[$key] += ($arrData['deliv_fee'] * $arrCart['quantity']); 325 320 $cnt++; 326 321 } else { // DBに商品が見つからない場合、 … … 335 330 $objPage->tpl_error = "※「{$quantityInfo['name']}」は数量「{$quantityInfo['sale_limit']}」以下に販売制限しております。一度にこれ以上の購入はできません。\n"; 336 331 // 販売制限に引っかかった商品をマークする 337 foreach (array_keys($objPage->arrProductsClass) as $k ey) {338 $ProductsClass =& $objPage->arrProductsClass[$k ey];332 foreach (array_keys($objPage->arrProductsClass) as $k) { 333 $ProductsClass =& $objPage->arrProductsClass[$k]; 339 334 if ($ProductsClass['product_id'] == $product_id) { 340 335 $ProductsClass['error'] = true; … … 345 340 346 341 // 全商品合計金額(税込み) 347 $objPage->tpl_total_pretax = $objCartSess->getAllProductsTotal();342 $objPage->tpl_total_pretax[$key] = $objCartSess->getAllProductsTotal(); 348 343 // 全商品合計消費税 349 $objPage->tpl_total_tax = $objCartSess->getAllProductsTax();344 $objPage->tpl_total_tax[$key] = $objCartSess->getAllProductsTax(); 350 345 // 全商品合計ポイント 351 346 if (USE_POINT !== false) { 352 $objPage->tpl_total_point = $objCartSess->getAllProductsPoint();347 $objPage->tpl_total_point[$key] = $objCartSess->getAllProductsPoint(); 353 348 } 354 349 … … 1447 1442 * @return array 最終計算後の配列 1448 1443 */ 1449 function sfTotalConfirm($arrData, &$objPage, &$objCartSess, $dummy1 = null, $objCustomer = "" ) {1444 function sfTotalConfirm($arrData, &$objPage, &$objCartSess, $dummy1 = null, $objCustomer = "", $key = "") { 1450 1445 // 店舗基本情報を取得する 1451 1446 $arrInfo = SC_Helper_DB_Ex::sf_getBasisData(); … … 1459 1454 1460 1455 // 税金の取得 1461 $arrData['tax'] = $objPage->tpl_total_tax ;1456 $arrData['tax'] = $objPage->tpl_total_tax[$key]; 1462 1457 // 小計の取得 1463 $arrData['subtotal'] = $objPage->tpl_total_pretax ;1458 $arrData['subtotal'] = $objPage->tpl_total_pretax[$key]; 1464 1459 1465 1460 // 合計送料の取得 … … 1502 1497 1503 1498 // 合計の計算 1504 $arrData['total'] = $objPage->tpl_total_pretax ; // 商品合計1499 $arrData['total'] = $objPage->tpl_total_pretax[$key]; // 商品合計 1505 1500 $arrData['total']+= $arrData['deliv_fee']; // 送料 1506 1501 $arrData['total']+= $arrData['charge']; // 手数料 … … 1509 1504 // 加算ポイントの計算 1510 1505 if (USE_POINT !== false) { 1511 $arrData['add_point'] = SC_Helper_DB_Ex::sfGetAddPoint($objPage->tpl_total_point , $arrData['use_point']);1506 $arrData['add_point'] = SC_Helper_DB_Ex::sfGetAddPoint($objPage->tpl_total_point[$key], $arrData['use_point']); 1512 1507 1513 1508 if($objCustomer != "") { -
branches/version-2_5-dev/data/class/pages/cart/LC_Page_Cart.php
r18829 r18830 101 101 case 'confirm': 102 102 // カート内情報の取得 103 $arrRet = $objCartSess->getCartList(); 103 $cartKey = $_POST['cartKey']; // TODO 104 $arrRet = $objCartSess->getCartList($cartKey); 104 105 $max = count($arrRet); 105 106 $cnt = 0; … … 128 129 } 129 130 // カートを購入モードに設定 130 $objCartSess->saveCurrentCart($uniqid );131 $objCartSess->saveCurrentCart($uniqid, $cartKey); 131 132 // 購入ページへ 132 133 $this->sendRedirect(URL_SHOP_TOP); … … 138 139 } 139 140 140 // カート集計処理141 $objDb->sfTotalCart($this, $objCartSess);142 $this->arrData = $objDb->sfTotalConfirm($this->arrData, $this, $objCartSess, null, $objCustomer);143 144 141 // 基本情報の取得 145 142 $this->arrInfo = $objSiteInfo->data; 143 144 $this->cartKeys = $objCartSess->getKeys(); 145 foreach ($this->cartKeys as $key) { 146 // カート集計処理 147 $objDb->sfTotalCart($this, $objCartSess, $key); 148 $this->arrData = $objDb->sfTotalConfirm($this->arrData, $this, $objCartSess, null, $objCustomer, $key); 149 // 送料無料までの金額を計算 150 $this->tpl_deliv_free[$key] = $this->arrInfo['free_rule'] - $this->tpl_total_pretax[$key]; 151 152 153 } 146 154 147 155 // ログイン判定 … … 152 160 } 153 161 154 // 送料無料までの金額を計算155 $this->tpl_deliv_free = $this->arrInfo['free_rule'] - $this->tpl_total_pretax;156 162 157 163 // 前頁のURLを取得 -
branches/version-2_5-dev/data/class/pages/products/LC_Page_Products_Detail.php
r18829 r18830 170 170 $this->tpl_stock_find = $objProduct->stock_find[$product_id]; 171 171 $this->tpl_product_class_id = $objProduct->classCategories[$product_id]['']['']['product_class_id']; 172 $this->tpl_product_type = $objProduct->classCategories[$product_id]['']['']['product_type']; 172 173 173 174 require_once DATA_PATH . 'module/Services/JSON.php'; … … 193 194 $classcategory_id2 = $_POST['classcategory_id2']; 194 195 $product_class_id = $_POST['product_class_id']; 196 $product_type = $_POST['product_type']; 195 197 196 198 if (!empty($_POST['gmo_oneclick'])) { … … 207 209 $classcategory_id2 = '0'; 208 210 } 209 // 規格IDを取得 210 $objProduct = new SC_Product(); 211 $objCartSess->addProduct($product_class_id, $this->objFormParam->getValue('quantity')); 211 $objCartSess->addProduct($product_class_id, $this->objFormParam->getValue('quantity'), $product_type); 212 212 213 213 if (!empty($_POST['gmo_oneclick'])) { -
branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Confirm.php
r18820 r18830 84 84 85 85 // カート集計処理 86 $objDb->sfTotalCart($this, $objCartSess); 86 $this->cartKey = $_SESSION['cartKey']; 87 $objDb->sfTotalCart($this, $objCartSess, $this->cartKey); 87 88 if (strlen($this->tpl_message) >= 1) { 88 89 SC_Utils_Ex::sfDispSiteError(SOLD_OUT, '', true);
Note: See TracChangeset
for help on using the changeset viewer.
