- Timestamp:
- 2012/07/03 18:48:58 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_12-dev/data/class/pages/products/LC_Page_Products_List.php
r21949 r21953 135 135 136 136 case 'json': 137 $this->arrProducts = $this->setStatusDataTo($this->arrProducts, $this->arrSTATUS, $this->arrSTATUS_IMAGE); 138 $this->arrProducts = $objProduct->setPriceTaxTo($this->arrProducts); 139 140 // 一覧メイン画像の指定が無い商品のための処理 141 foreach ($this->arrProducts as $key=>$val) { 142 $this->arrProducts[$key]['main_list_image'] = SC_Utils_Ex::sfNoImageMainList($val['main_list_image']); 143 } 144 145 echo SC_Utils_Ex::jsonEncode($this->arrProducts); 146 SC_Response_Ex::actionExit(); 137 $this->doJson($objProduct); 147 138 break; 148 139 149 140 default: 150 151 //商品一覧の表示処理 152 $strnavi = $this->objNavi->strnavi; 153 // 表示文字列 154 $this->tpl_strnavi = empty($strnavi) ? ' ' : $strnavi; 155 156 // 規格1クラス名 157 $this->tpl_class_name1 = $objProduct->className1; 158 159 // 規格2クラス名 160 $this->tpl_class_name2 = $objProduct->className2; 161 162 // 規格1 163 $this->arrClassCat1 = $objProduct->classCats1; 164 165 // 規格1が設定されている 166 $this->tpl_classcat_find1 = $objProduct->classCat1_find; 167 // 規格2が設定されている 168 $this->tpl_classcat_find2 = $objProduct->classCat2_find; 169 170 $this->tpl_stock_find = $objProduct->stock_find; 171 $this->tpl_product_class_id = $objProduct->product_class_id; 172 $this->tpl_product_type = $objProduct->product_type; 173 174 // 商品ステータスを取得 175 $this->productStatus = $this->arrProducts['productStatus']; 176 unset($this->arrProducts['productStatus']); 177 $this->tpl_javascript .= 'var productsClassCategories = ' . SC_Utils_Ex::jsonEncode($objProduct->classCategories) . ';'; 178 //onloadスクリプトを設定. 在庫ありの商品のみ出力する 179 foreach ($this->arrProducts as $arrProduct) { 180 if ($arrProduct['stock_unlimited_max'] || $arrProduct['stock_max'] > 0) { 181 $js_fnOnLoad .= "fnSetClassCategories(document.product_form{$arrProduct['product_id']});"; 182 } 183 } 184 185 //カート処理 186 $target_product_id = intval($this->arrForm['product_id']); 187 if ($target_product_id > 0) { 188 // 商品IDの正当性チェック 189 if (!SC_Utils_Ex::sfIsInt($this->arrForm['product_id']) 190 || !SC_Helper_DB_Ex::sfIsRecord('dtb_products', 'product_id', $this->arrForm['product_id'], 'del_flg = 0 AND status = 1')) { 191 SC_Utils_Ex::sfDispSiteError(PRODUCT_NOT_FOUND); 192 } 193 194 // 入力内容のチェック 195 $arrErr = $this->lfCheckError($target_product_id, $this->arrForm, $this->tpl_classcat_find1, $this->tpl_classcat_find2); 196 if (empty($arrErr)) { 197 $this->lfAddCart($this->arrForm, $_SERVER['HTTP_REFERER']); 198 199 200 SC_Response_Ex::sendRedirect(CART_URLPATH); 201 SC_Response_Ex::actionExit(); 202 } 203 $js_fnOnLoad .= $this->lfSetSelectedData($this->arrProducts, $this->arrForm, $arrErr, $target_product_id); 204 } else { 205 // カート「戻るボタン」用に保持 206 $netURL = new Net_URL(); 207 //該当メソッドが無いため、$_SESSIONに直接セット 208 $_SESSION['cart_referer_url'] = $netURL->getURL(); 209 } 210 211 $this->tpl_javascript .= 'function fnOnLoad(){' . $js_fnOnLoad . '}'; 212 $this->tpl_onload .= 'fnOnLoad(); '; 141 $this->doDefault($objProduct); 213 142 break; 214 143 } … … 516 445 return $arrProducts; 517 446 } 447 448 /** 449 * 450 * @param type $objProduct 451 * @return void 452 */ 453 function doJson(&$objProduct) { 454 $this->arrProducts = $this->setStatusDataTo($this->arrProducts, $this->arrSTATUS, $this->arrSTATUS_IMAGE); 455 $this->arrProducts = $objProduct->setPriceTaxTo($this->arrProducts); 456 457 // 一覧メイン画像の指定が無い商品のための処理 458 foreach ($this->arrProducts as $key=>$val) { 459 $this->arrProducts[$key]['main_list_image'] = SC_Utils_Ex::sfNoImageMainList($val['main_list_image']); 460 } 461 462 echo SC_Utils_Ex::jsonEncode($this->arrProducts); 463 SC_Response_Ex::actionExit(); 464 } 465 466 /** 467 * 468 * @param type $objProduct 469 * @return void 470 */ 471 function doDefault(&$objProduct) { 472 //商品一覧の表示処理 473 $strnavi = $this->objNavi->strnavi; 474 // 表示文字列 475 $this->tpl_strnavi = empty($strnavi) ? ' ' : $strnavi; 476 477 // 規格1クラス名 478 $this->tpl_class_name1 = $objProduct->className1; 479 480 // 規格2クラス名 481 $this->tpl_class_name2 = $objProduct->className2; 482 483 // 規格1 484 $this->arrClassCat1 = $objProduct->classCats1; 485 486 // 規格1が設定されている 487 $this->tpl_classcat_find1 = $objProduct->classCat1_find; 488 // 規格2が設定されている 489 $this->tpl_classcat_find2 = $objProduct->classCat2_find; 490 491 $this->tpl_stock_find = $objProduct->stock_find; 492 $this->tpl_product_class_id = $objProduct->product_class_id; 493 $this->tpl_product_type = $objProduct->product_type; 494 495 // 商品ステータスを取得 496 $this->productStatus = $this->arrProducts['productStatus']; 497 unset($this->arrProducts['productStatus']); 498 $this->tpl_javascript .= 'var productsClassCategories = ' . SC_Utils_Ex::jsonEncode($objProduct->classCategories) . ';'; 499 //onloadスクリプトを設定. 在庫ありの商品のみ出力する 500 foreach ($this->arrProducts as $arrProduct) { 501 if ($arrProduct['stock_unlimited_max'] || $arrProduct['stock_max'] > 0) { 502 $js_fnOnLoad .= "fnSetClassCategories(document.product_form{$arrProduct['product_id']});"; 503 } 504 } 505 506 //カート処理 507 $target_product_id = intval($this->arrForm['product_id']); 508 if ($target_product_id > 0) { 509 // 商品IDの正当性チェック 510 if (!SC_Utils_Ex::sfIsInt($this->arrForm['product_id']) 511 || !SC_Helper_DB_Ex::sfIsRecord('dtb_products', 'product_id', $this->arrForm['product_id'], 'del_flg = 0 AND status = 1')) { 512 SC_Utils_Ex::sfDispSiteError(PRODUCT_NOT_FOUND); 513 } 514 515 // 入力内容のチェック 516 $arrErr = $this->lfCheckError($target_product_id, $this->arrForm, $this->tpl_classcat_find1, $this->tpl_classcat_find2); 517 if (empty($arrErr)) { 518 $this->lfAddCart($this->arrForm, $_SERVER['HTTP_REFERER']); 519 520 521 SC_Response_Ex::sendRedirect(CART_URLPATH); 522 SC_Response_Ex::actionExit(); 523 } 524 $js_fnOnLoad .= $this->lfSetSelectedData($this->arrProducts, $this->arrForm, $arrErr, $target_product_id); 525 } else { 526 // カート「戻るボタン」用に保持 527 $netURL = new Net_URL(); 528 //該当メソッドが無いため、$_SESSIONに直接セット 529 $_SESSION['cart_referer_url'] = $netURL->getURL(); 530 } 531 532 $this->tpl_javascript .= 'function fnOnLoad(){' . $js_fnOnLoad . '}'; 533 $this->tpl_onload .= 'fnOnLoad(); '; 534 } 518 535 }
Note: See TracChangeset
for help on using the changeset viewer.