Changeset 17980


Ignore:
Timestamp:
2009/04/17 18:00:13 (13 years ago)
Author:
kajiwara
Message:

#441 お気に入り一覧で商品が重複表示される不具合を改修。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_4/data/class/pages/mypage/LC_Page_Mypage_Favorite.php

    r17931 r17980  
    9595        } 
    9696 
    97         $col = "allcls.*"; 
    98         $from = "dtb_customer_favorite_products AS dcfp LEFT JOIN vw_products_allclass AS allcls USING(product_id)"; 
    99          
    100         $where = "allcls.del_flg = 0 AND allcls.status = 1 AND dcfp.customer_id = ?"; 
     97        $sql = "SELECT * 
     98                FROM 
     99                   (SELECT 
     100                        T2.product_id AS product_id_main, 
     101                        T2.del_flg , 
     102                        T2.status , 
     103                        T2.name , 
     104                        T2.main_list_image , 
     105                        T1.create_date , 
     106                        T1.customer_id 
     107                    FROM 
     108                       (SELECT 
     109                            product_id AS product_id_c , 
     110                            create_date , 
     111                            customer_id 
     112                        FROM 
     113                           dtb_customer_favorite_products 
     114                        WHERE 
     115                           customer_id = ? 
     116                        ) AS T1 INNER JOIN dtb_products AS T2 ON T1.product_id_c = T2.product_id AND T2.del_flg = 0 AND T2.status = 1 
     117                    ) AS T3 INNER JOIN 
     118                        (SELECT 
     119                            product_id , 
     120                            MIN(price02) AS price02_min , 
     121                            MAX(price02) AS price02_max , 
     122                            MAX(stock) AS stock_max , 
     123                            MAX(stock_unlimited) AS stock_unlimited_max 
     124                         FROM 
     125                            dtb_products_class 
     126                         GROUP BY 
     127                            product_id 
     128                    ) AS T4 ON T3.product_id_main = T4.product_id"; 
    101129        // 在庫無し商品の非表示 
    102130        if (NOSTOCK_HIDDEN === true) { 
    103             $where .= ' AND (allcls.stock_max >= 1 OR allcls.stock_unlimited_max = 1)'; 
    104         } 
     131            $sql .= " WHERE stock_max >= 1 OR stock_unlimited_max = 1"; 
     132        } 
     133        $sql .= " ORDER BY create_date DESC"; 
    105134 
    106135        $arrval = array($objCustomer->getvalue('customer_id')); 
    107         $order = "product_id DESC"; 
    108  
    109         $linemax = $objQuery->count($from, $where, $arrval); 
     136 
     137        //お気に入りの取得 
     138        $this->arrFavorite = $objQuery->getall($sql, $arrval); 
     139 
     140        //お気に入りの数を取得 
     141        $linemax = count($this->arrFavorite); 
    110142        $this->tpl_linemax = $linemax; 
    111143 
     
    120152        $objQuery->setorder($order); 
    121153 
    122         //お気に入りの取得 
    123         $this->arrFavorite = $objQuery->select($col, $from, $where, $arrval); 
    124  
    125154        // パラメータ管理クラス 
    126155        $this->objFormParam = new SC_FormParam(); 
     
    130159        // 入力情報を渡す 
    131160        $this->arrForm = $this->objFormParam->getFormParamList(); 
    132         $objView->assignobj($this);             //$objpage内の全てのテンプレート変数をsmartyに格納 
    133         $objView->display(SITE_FRAME);              //パスとテンプレート変数の呼び出し、実行 
     161        $objView->assignobj($this);    //$objpage内の全てのテンプレート変数をsmartyに格納 
     162        $objView->display(SITE_FRAME); //パスとテンプレート変数の呼び出し、実行 
    134163    } 
    135164 
     
    226255        } 
    227256 
    228         $objView->assignobj($this);             //$objpage内の全てのテンプレート変数をsmartyに格納 
    229         $objView->display(SITE_FRAME);              //パスとテンプレート変数の呼び出し、実行 
     257        $objView->assignobj($this);       //$objpage内の全てのテンプレート変数をsmartyに格納 
     258        $objView->display(SITE_FRAME);    //パスとテンプレート変数の呼び出し、実行 
    230259 
    231260    } 
Note: See TracChangeset for help on using the changeset viewer.