Changeset 17176
- Timestamp:
- 2008/03/23 01:34:26 (16 years ago)
- Location:
- branches/sol/dev02/data
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/sol/dev02/data/class/pages/products/LC_Page_Products_Detail.php
r16780 r17176 62 62 function init() { 63 63 parent::init(); 64 $ masterData = new SC_DB_MasterData_Ex();65 $this->arrSTATUS = $ masterData->getMasterData("mtb_status");66 $this->arrSTATUS_IMAGE = $ masterData->getMasterData("mtb_status_image");67 $this->arrDELIVERYDATE = $ masterData->getMasterData("mtb_delivery_date");68 $this->arrRECOMMEND = $ masterData->getMasterData("mtb_recommend");64 $this->masterData = new SC_DB_MasterData_Ex(); 65 $this->arrSTATUS = $this->masterData->getMasterData("mtb_status"); 66 $this->arrSTATUS_IMAGE = $this->masterData->getMasterData("mtb_status_image"); 67 $this->arrDELIVERYDATE = $this->masterData->getMasterData("mtb_delivery_date"); 68 $this->arrRECOMMEND = $this->masterData->getMasterData("mtb_recommend"); 69 69 } 70 70 … … 187 187 break; 188 188 } 189 190 $objQuery = new SC_Query(); 191 // DBから商品情報を取得する。 192 $arrRet = $objQuery->select("*", "vw_products_allclass_detail AS alldtl", "product_id = ?", array($tmp_id)); 193 $this->arrProduct = $arrRet[0]; 194 195 // 商品コードの取得 196 $code_sql = "SELECT product_code FROM dtb_products_class AS prdcls WHERE prdcls.product_id = ? GROUP BY product_code ORDER BY product_code"; 197 $arrProductCode = $objQuery->getall($code_sql, array($tmp_id)); 189 190 // キャッシュがあればキャッシュから商品詳細情報を取得する 191 $tmp_arrProduct = $this->masterData->getMasterDataFlg("product_detail_".$tmp_id); 192 if($tmp_arrProduct === false){ 193 // DBから商品情報を取得する。 194 $arrRet = $objQuery->select("*", "vw_products_allclass_detail AS alldtl", "product_id = ?", array($tmp_id)); 195 // 商品コードをキャッシュする 196 $this->masterData->createCache("product_detail_".$tmp_id, $arrRet[0]); 197 $this->arrProduct = $arrRet[0]; 198 }else{ 199 $this->arrProduct = $tmp_arrProduct; 200 } 201 202 203 // キャッシュがあればキャッシュから商品コードを取得する 204 $tmp_productcode = $this->masterData->getMasterDataFlg("product_code_".$tmp_id); 205 if($tmp_productcode === false){ 206 // 商品コードの取得 207 $code_sql = "SELECT product_code FROM dtb_products_class AS prdcls WHERE prdcls.product_id = ? GROUP BY product_code ORDER BY product_code"; 208 $arrProductCode = $objQuery->getall($code_sql, array($tmp_id)); 209 // 商品コードをキャッシュする 210 $this->masterData->createCache("product_code_".$tmp_id, $arrProductCode[0]); 211 }else{ 212 $arrProductCode[0] = $tmp_productcode; 213 } 214 198 215 $arrProductCode = SC_Utils_Ex::sfswaparray($arrProductCode); 199 216 $this->arrProductCode = $arrProductCode["product_code"]; -
branches/sol/dev02/data/class_extends/db_extends/SC_DB_MasterData_Ex.php
r16741 r17176 35 35 */ 36 36 class SC_DB_MasterData_Ex extends SC_DB_MasterData { 37 38 function getMasterDataFlg($name){ 39 // 可変変数を定義 40 $valiable = "_" . $name . "_master"; 41 42 // キャッシュを読み込み 43 @include_once(MASTER_DATA_DIR . $name . ".php"); 44 45 // キャッシュがあれば, キャッシュの値を返す. 46 if (!empty($$valiable)) { 47 return $$valiable; 48 }else{ 49 return false; 50 } 51 } 37 52 } 38 53 ?>
Note: See TracChangeset
for help on using the changeset viewer.