Changeset 21502 for branches/version-2_12-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php
- Timestamp:
- 2012/02/14 15:10:54 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_12-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php
r21481 r21502 237 237 $arrDefault = $this->getProductsClass($product_id); 238 238 239 $objQuery->delete('dtb_products_class', 'product_id = ? AND class_combination_id IS NOT NULL', array($product_id));239 $objQuery->delete('dtb_products_class', 'product_id = ? AND (classcategory_id1 <> 0 OR classcategory_id2 <> 0)', array($product_id)); 240 240 241 241 for ($i = 0; $i < $total; $i++) { … … 244 244 $price02 = SC_Utils_Ex::isBlank($arrList['price02'][$i]) ? 0 : $arrList['price02'][$i]; 245 245 // dtb_products_class 登録/更新用 246 $registerKeys = array('product_code', 'stock', 247 'price01', 'product_type_id', 248 'down_filename', 'down_realfilename'); 246 $registerKeys = array( 247 'classcategory_id1', 'classcategory_id2', 248 'product_code', 'stock', 'price01', 'product_type_id', 249 'down_filename', 'down_realfilename', 250 ); 249 251 250 252 $arrPC = array(); … … 264 266 $arrPC['del_flg'] = $del_flg; 265 267 266 $class_combination_id = $arrExists[$arrList['product_class_id'][$i]]['class_combination_id'];267 $existsCombi = $objQuery->getRow('*', 'dtb_class_combination',268 'class_combination_id = ?',269 array($class_combination_id));270 271 $objQuery->delete('dtb_class_combination',272 'class_combination_id IN (?, ?)',273 array($existsCombi['class_combination_id'],274 $existsCombi['parent_class_combination_id']));275 276 // 規格組み合わせを登録277 $arrComb1['class_combination_id'] = $objQuery->nextVal('dtb_class_combination_class_combination_id');278 $arrComb1['classcategory_id'] = $arrList['classcategory_id1'][$i];279 $arrComb1['level'] = 1;280 $objQuery->insert('dtb_class_combination', $arrComb1);281 282 // 規格2も登録する場合283 if (!SC_Utils_Ex::isBlank($arrList['classcategory_id2'][$i])) {284 $arrComb2['class_combination_id'] = $objQuery->nextVal('dtb_class_combination_class_combination_id');285 $arrComb2['classcategory_id'] = $arrList['classcategory_id2'][$i];286 $arrComb2['parent_class_combination_id'] = $arrComb1['class_combination_id'];287 $arrComb2['level'] = 2;288 $objQuery->insert('dtb_class_combination', $arrComb2);289 290 $arrPC['class_combination_id'] = $arrComb2['class_combination_id'];291 } else {292 $arrPC['class_combination_id'] = $arrComb1['class_combination_id'];293 }294 295 268 $arrPC['create_date'] = 'CURRENT_TIMESTAMP'; 296 269 // 更新の場合は, product_class_id を使い回す … … 313 286 $arrBlank['update_date'] = 'CURRENT_TIMESTAMP'; 314 287 $objQuery->update('dtb_products_class', $arrBlank, 315 "product_id = ? AND class _combination_id IS NULL",288 "product_id = ? AND classcategory_id1 = 0 AND classcategory_id2 = 0", 316 289 array($product_id)); 317 290 … … 479 452 $product_id = $objFormParam->getValue('product_id'); 480 453 $objProduct = new SC_Product_Ex(); 481 $existsProductsClass = $objProduct->getProductsClassFullByProductId($product_id , true);454 $existsProductsClass = $objProduct->getProductsClassFullByProductId($product_id); 482 455 483 456 // 規格のデフォルト値(すべての組み合わせ)を取得し, フォームに反映 … … 557 530 558 531 $objQuery->begin(); 559 $arrClassCombi = $objQuery->getCol('class_combination_id', 560 'dtb_products_class', 561 'product_id = ?', array($product_id)); 562 563 foreach ($arrClassCombi as $class_combination_id) { 564 if (SC_Utils_Ex::isBlank($class_combination_id)) { 565 continue; 566 } 567 $existsCombi = $objQuery->getRow('*', 'dtb_class_combination', 568 'class_combination_id = ?', 569 array($class_combination_id)); 570 571 $objQuery->delete('dtb_class_combination', 572 'class_combination_id IN (?, ?)', 573 array($existsCombi['class_combination_id'], 574 $existsCombi['parent_class_combination_id'])); 575 } 576 $objQuery->update('dtb_products_class', array('del_flg' => 0), 577 "product_id = ? AND class_combination_id IS NULL", 578 array($product_id)); 579 $objQuery->delete('dtb_products_class', 580 "product_id = ? AND class_combination_id IS NOT NULL", 581 array($product_id)); 532 533 // 商品規格なしデータの復元 534 $where = 'product_id = ? AND classcategory_id1 = 0 AND classcategory_id2 = 0'; 535 $objQuery->update("dtb_products_class", array('del_flg' => 0), $where, array($product_id)); 536 537 // 商品規格データの削除 538 $where = 'product_id = ? AND (classcategory_id1 <> 0 OR classcategory_id2 <> 0)'; 539 $objQuery->delete("dtb_products_class", $where, array($product_id)); 540 582 541 $objQuery->commit(); 583 542 … … 780 739 $objQuery =& SC_Query_Ex::getSingletonInstance(); 781 740 $col = "product_code, price01, price02, stock, stock_unlimited, sale_limit, deliv_fee, point_rate"; 782 return $objQuery->getRow($col, 'dtb_products_class', "product_id = ? AND class_combination_id IS NULL", array($product_id)); 741 $where = 'product_id = ? AND classcategory_id1 = 0 AND classcategory_id2 = 0'; 742 return $objQuery->getRow($col, 'dtb_products_class', $where, array($product_id)); 783 743 } 784 744
Note: See TracChangeset
for help on using the changeset viewer.