Changeset 18829 for branches/version-2_5-dev/data/class/SC_Product.php
- Timestamp:
- 2010/09/27 19:30:37 (14 years ago)
- bzr:base-revision:
- svn-v4:1e3b908f-19a9-db11-a64c-001125224ba8:branches/version-2_5-dev:18828
- bzr:committer:
- Kentaro Ohkouchi <ohkouchi@loop-az.jp>
- bzr:file-ids:
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/class/SC_Product.php 18277@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Fcomu-ver2%2Fdata%2Fclass%2FSC_Product.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/products/LC_Page_Products_List.php 15154@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fproducts%2FLC_Page_Products_List.php
data/class/pages/shopping/LC_Page_Shopping_Complete.php 15223@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fshopping%2FLC_Page_Shopping_Complete.php
data/install.php 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Finstall.php- bzr:mapping-version:
- v4
- bzr:merge:
ohkouchi@loop-az.jp-20100927102325-k7kq5liftg1lhyoq- bzr:repository-uuid:
- 1e3b908f-19a9-db11-a64c-001125224ba8
- bzr:revision-id:
- ohkouchi@loop-az.jp-20100927103023-gxi8k3mun5ajq1th
- bzr:revno:
- 2312
- bzr:revprop:branch-nick:
- branches/version-2_5-dev
- bzr:root:
- branches/version-2_5-dev
- bzr:text-revisions:
data/Smarty/templates/default/list.tpl ohkouchi@loop-az.jp-20100927102325-k7kq5liftg1lhyoq
data/class/helper/SC_Helper_DB.php ohkouchi@loop-az.jp-20100927102325-k7kq5liftg1lhyoq
data/class/pages/cart/LC_Page_Cart.php ohkouchi@loop-az.jp-20100927102325-k7kq5liftg1lhyoq
data/class/pages/shopping/LC_Page_Shopping_Complete.php ohkouchi@loop-az.jp-20100927102325-k7kq5liftg1lhyoq- bzr:timestamp:
- 2010-09-27 19:30:23.668999910 +0900
- bzr:user-agent:
- bzr2.2.0+bzr-svn1.0.3
- svn:original-date:
- 2010-09-27T10:30:23.669000Z
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/SC_Product.php
r18826 r18829 124 124 125 125 /** 126 * 商品詳細情報と商品規格を取得する. 127 * 128 * @param integer $productClassId 商品規格ID 129 * @return array 商品詳細情報と商品規格の配列 130 */ 131 function getDetailAndProductsClass($productClassId) { 132 $result = $this->getProductsClass($productClassId); 133 $result = array_merge($result, $this->getDetail($result['product_id'])); 134 return $result; 135 } 136 137 /** 126 138 * 商品IDに紐づく商品規格を自分自身に設定する. 127 139 * … … 163 175 $classCategories = array(); 164 176 $classCategories['']['']['name'] = '選択してください'; 177 $classCategories['']['']['product_class_id'] = $arrProductClass[0]['product_class_id']; 178 $this->product_class_id[$productId] = $arrProductClass[0]['product_class_id']; 165 179 foreach ($arrProductClass as $productsClass) { 166 180 $productsClass1 = $productsClass['classcategory_id1']; … … 201 215 // 商品コード 202 216 $classCategories[$productsClass1][$productsClass2]['product_code'] = $productsClass['product_code']; 217 // 商品規格ID 218 $classCategories[$productsClass1][$productsClass2]['product_class_id'] = $productsClass['product_class_id']; 203 219 } 204 220 … … 211 227 212 228 /** 213 * 複数の商品IDに紐づいた, 商品規格を取得する. 214 * 215 * @param array $productIds 商品IDの配列 229 * SC_Query インスタンスに設定された検索条件を使用して商品規格を取得する. 230 * 231 * @param SC_Query $objQuery SC_Queryインスタンス 232 * @param array $params 検索パラメータの配列 216 233 * @return array 商品規格の配列 217 234 */ 218 function getProductsClassByProductIds($productIds = array()) { 219 if (empty($productIds)) { 220 return array(); 221 } 222 $objQuery =& SC_Query::getSingletonInstance(); 223 $objQuery->setWhere('product_id IN (' . implode(', ', array_pad(array(), count($productIds), '?')) . ')'); 224 $objQuery->setOrder("T2.level DESC"); 235 function getProductsClassByQuery(&$objQuery, $params) { 225 236 // 末端の規格を取得 226 237 $col = <<< __EOS__ … … 254 265 ON T3.class_id = T4.class_id 255 266 __EOS__; 256 $arrRet = $objQuery->select($col, $table, "", $p roductIds);267 $arrRet = $objQuery->select($col, $table, "", $params); 257 268 $levels = array(); 258 269 $parents = array(); … … 317 328 318 329 /** 330 * 商品規格IDから商品規格を取得する. 331 */ 332 function getProductsClass($productClassId) { 333 $objQuery =& SC_Query::getSingletonInstance(); 334 $objQuery->setWhere('product_class_id = ?'); 335 $objQuery->setOrder("T2.level DESC"); 336 $results = $this->getProductsClassByQuery($objQuery, $productClassId); 337 $productsClass = $this->getProductsClassFull($results); 338 return $productsClass[0]; 339 } 340 341 /** 342 * 複数の商品IDに紐づいた, 商品規格を取得する. 343 * 344 * @param array $productIds 商品IDの配列 345 * @return array 商品規格の配列 346 */ 347 function getProductsClassByProductIds($productIds = array()) { 348 if (empty($productIds)) { 349 return array(); 350 } 351 $objQuery =& SC_Query::getSingletonInstance(); 352 $objQuery->setWhere('product_id IN (' . implode(', ', array_pad(array(), count($productIds), '?')) . ')'); 353 $objQuery->setOrder("T2.level DESC"); 354 return $this->getProductsClassByQuery($objQuery, $productIds); 355 } 356 357 /** 319 358 * 商品IDに紐づいた, 商品規格を階層ごとに取得する. 320 359 * 321 * @param array $productId 商品ID の配列360 * @param array $productId 商品ID 322 361 * @return array 階層ごとの商品規格の配列 323 362 */ 324 363 function getProductsClassLevelByProductId($productId) { 325 364 $results = $this->getProductsClassByProductIds(array($productId)); 326 foreach ($results as $row) { 365 return $this->getProductsClassLevel($results); 366 } 367 368 /** 369 * 商品IDに紐づいた, 商品規格をすべての組み合わせごとに取得する. 370 * 371 * @param array $productId 商品ID 372 * @return array すべての組み合わせの商品規格の配列 373 */ 374 function getProductsClassFullByProductId($productId) { 375 $results = $this->getProductsClassByProductIds(array($productId)); 376 return $this->getProductsClassFull($results); 377 } 378 379 /** 380 * 商品規格の配列から, 商品規格を階層ごとに取得する. 381 * 382 * @access private 383 * @param array $productsClassResults 商品規格の結果の配列 384 * @return array 階層ごとの商品規格の配列 385 */ 386 function getProductsClassLevel($productsClassResults) { 387 foreach ($productsClassResults as $row) { 327 388 $productsClassLevel["level" . $row['level']][] = $row; 328 389 } … … 331 392 332 393 /** 333 * 商品IDに紐づいた, 商品規格をすべての組み合わせごとに取得する. 334 * 335 * @param array $productId 商品IDの配列 336 * @return array すべての組み合わせの商品規格の配列 337 */ 338 function getProductsClassFullByProductId($productId) { 339 $results = $this->getProductsClassLevelByProductId($productId); 394 * 商品規格の配列から, 商品規格のすべての組み合わせを取得する. 395 * 396 * @access private 397 * @param array $productsClassResults 商品規格の結果の配列 398 * @ array 階層ごとの商品規格の配列 399 */ 400 function getProductsClassFull($productsClassResults) { 401 $results = $this->getProductsClassLevel($productsClassResults); 340 402 $productsClass = array(); 341 if (SC_Utils_Ex::isBlank($results["level1"]) && SC_Utils_Ex::isBlank($results["level2"])) { 403 if (SC_Utils_Ex::isBlank($results["level1"]) 404 && SC_Utils_Ex::isBlank($results["level2"])) { 342 405 return $results["level"]; 343 406 }
Note: See TracChangeset
for help on using the changeset viewer.