[Svn-src-all:1219] [version-2_5-dev 20107] #983 リファクタリング VIEWを使わないようにする

yomoro admin @ mail.ec-cube.net
2011年 2月 7日 (月) 13:26:03 JST


Subversion committed to /home/svn/open 20107
http://svn.ec-cube.net/open_trac/changeset/20107
┌────────────────────────────┐
│更新者 :  yomoro                                       │
│更新日時:  2011-02-07 13:26:03 +0900 (月, 07  2月 2011)│
└────────────────────────────┘

Log:
--------------------------------------------------------
#983 リファクタリング VIEWを使わないようにする

Changed:                      [U:修正,A:追加,D:削除]
--------------------------------------------------------
U   branches/version-2_5-dev/data/class/pages/rss/LC_Page_Rss_Products.php

変更: branches/version-2_5-dev/data/class/pages/rss/LC_Page_Rss_Products.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/rss/LC_Page_Rss_Products.php	2011-02-07 02:54:44 UTC (rev 20106)
+++ branches/version-2_5-dev/data/class/pages/rss/LC_Page_Rss_Products.php	2011-02-07 04:26:03 UTC (rev 20107)
@@ -312,54 +312,114 @@
      * @param SC_Query $objQuery DB操作クラス
      * @return array $arrProduct 取得結果を配列で返す
      */
-    function lfGetProductsAllclass($objQuery){
-        // FIXME SC_Product クラスを使用した実装
+    function lfGetProductsAllclass(&$objQuery){
         $sql = '';
-        $sql .= ' SELECT ';
-        $sql .= '   product_id ';
-        $sql .= '   ,name as product_name ';
-        $sql .= '   ,category_id ';
-        $sql .= '   ,point_rate ';
-        $sql .= '   ,comment3 ';
-        $sql .= '   ,main_list_comment ';
-        $sql .= '   ,main_image ';
-        $sql .= '   ,main_list_image ';
-        $sql .= '   ,product_code_min ';
-        $sql .= '   ,product_code_max ';
-        $sql .= '   ,price01_min ';
-        $sql .= '   ,price01_max ';
-        $sql .= '   ,price02_min ';
-        $sql .= '   ,price02_max ';
-        $sql .= '   ,( ';
-        $sql .= '     SELECT ';
-        $sql .= '       category_name ';
-        $sql .= '     FROM ';
-        $sql .= '       dtb_category AS cat ';
-        $sql .= '     WHERE ';
-        $sql .= '       cat.category_id = allcls.category_id ';
-        $sql .= '   ) AS category_name ';
-        $sql .= '   ,( ';
-        $sql .= '     SELECT ';
-        $sql .= '       main_large_image ';
-        $sql .= '     FROM ';
-        $sql .= '       dtb_products AS prod ';
-        $sql .= '     WHERE ';
-        $sql .= '       prod.product_id = allcls.product_id ';
-        $sql .= '   ) AS main_large_image ';
-        $sql .= ' FROM ';
-        $sql .= '   vw_products_allclass as allcls ';
-        $sql .= ' WHERE ';
-        $sql .= '   allcls.del_flg = 0 AND allcls.status = 1 ';
-
+        $sql .= ' SELECT';
+        $sql .= '     T1.product_id,';
+        $sql .= '     T1.name as product_name,';
+        $sql .= '     T1.maker_id,';
+        $sql .= '     T1.status,';
+        $sql .= '     T1.comment1,';
+        $sql .= '     T1.comment2,';
+        $sql .= '     T1.comment3,';
+        $sql .= '     T1.comment4,';
+        $sql .= '     T1.comment5,';
+        $sql .= '     T1.comment6,';
+        $sql .= '     T1.note,';
+        $sql .= '     T1.main_list_comment,';
+        $sql .= '     T1.main_list_image,';
+        $sql .= '     T1.main_comment,';
+        $sql .= '     T1.main_image,';
+        $sql .= '     T1.main_large_image,';
+        $sql .= '     T1.sub_title1,';
+        $sql .= '     T1.sub_comment1,';
+        $sql .= '     T1.sub_image1,';
+        $sql .= '     T1.sub_large_image1,';
+        $sql .= '     T1.sub_title2,';
+        $sql .= '     T1.sub_comment2,';
+        $sql .= '     T1.sub_image2,';
+        $sql .= '     T1.sub_large_image2,';
+        $sql .= '     T1.sub_title3,';
+        $sql .= '     T1.sub_comment3,';
+        $sql .= '     T1.sub_image3,';
+        $sql .= '     T1.sub_large_image3,';
+        $sql .= '     T1.sub_title4,';
+        $sql .= '     T1.sub_comment4,';
+        $sql .= '     T1.sub_image4,';
+        $sql .= '     T1.sub_large_image4,';
+        $sql .= '     T1.sub_title5,';
+        $sql .= '     T1.sub_comment5,';
+        $sql .= '     T1.sub_image5,';
+        $sql .= '     T1.sub_large_image5,';
+        $sql .= '     T1.sub_title6,';
+        $sql .= '     T1.sub_comment6,';
+        $sql .= '     T1.sub_image6,';
+        $sql .= '     T1.sub_large_image6,';
+        $sql .= '     T1.del_flg,';
+        $sql .= '     T1.creator_id,';
+        $sql .= '     T1.create_date,';
+        $sql .= '     T1.update_date,';
+        $sql .= '     T1.deliv_date_id,';
+        $sql .= '     T4.product_code_min,';
+        $sql .= '     T4.product_code_max,';
+        $sql .= '     T4.price01_min,';
+        $sql .= '     T4.price01_max,';
+        $sql .= '     T4.price02_min,';
+        $sql .= '     T4.price02_max,';
+        $sql .= '     T4.stock_min,';
+        $sql .= '     T4.stock_max,';
+        $sql .= '     T4.stock_unlimited_min,';
+        $sql .= '     T4.stock_unlimited_max,';
+        $sql .= '     T4.class_count,';
+        $sql .= '     T3.rank AS category_rank,';
+        $sql .= '     T2.category_id,';
+        $sql .= '     T2.rank AS product_rank';
+        $sql .= ' FROM';
+        $sql .= '     dtb_products AS T1';
+        $sql .= '     LEFT JOIN';
+        $sql .= '         (';
+        $sql .= '             SELECT';
+        $sql .= '                 product_id,';
+        $sql .= '                 MIN(product_code) AS product_code_min,';
+        $sql .= '                 MAX(product_code) AS product_code_max,';
+        $sql .= '                 MIN(price01) AS price01_min,';
+        $sql .= '                 MAX(price01) AS price01_max,';
+        $sql .= '                 MIN(price02) AS price02_min,';
+        $sql .= '                 MAX(price02) AS price02_max,';
+        $sql .= '                 MIN(stock) AS stock_min,';
+        $sql .= '                 MAX(stock) AS stock_max,';
+        $sql .= '                 MIN(stock_unlimited) AS stock_unlimited_min,';
+        $sql .= '                 MAX(stock_unlimited) AS stock_unlimited_max,';
+        $sql .= '                 COUNT(*) as class_count';
+        $sql .= '             FROM';
+        $sql .= '                 dtb_products_class';
+        $sql .= '             GROUP BY';
+        $sql .= '                 product_id';
+        $sql .= '         ) AS T4';
+        $sql .= '     ON';
+        $sql .= '         T1.product_id = T4.product_id';
+        $sql .= '     LEFT JOIN';
+        $sql .= '         dtb_product_categories AS T2';
+        $sql .= '     ON';
+        $sql .= '         T1.product_id = T2.product_id';
+        $sql .= '     LEFT JOIN';
+        $sql .= '         dtb_category AS T3';
+        $sql .= '     ON';
+        $sql .= '         T2.category_id = T3.category_id';
+        $sql .= ' WHERE';
+        $sql .= '     T1.del_flg = 0 AND T1.status = 1 ';
+        
         // 在庫無し商品の非表示
         if (NOSTOCK_HIDDEN === true) {
-            $sql .= ' AND (allcls.stock_max >= 1 OR allcls.stock_unlimited_max = 1)';
+            $sql .= ' AND (T4.stock_max >= 1 OR T4.stock_unlimited_max = 1)';
         }
-
-        $sql .= ' ORDER BY allcls.product_id';
-
+        
+        $sql .= ' ORDER BY';
+        $sql .= '     T1.product_id asc';
+        
         $arrProduct = $objQuery->getAll($sql);
         return $arrProduct;
+        
     }
 
     /**




Svn-src-all メーリングリストの案内