Ignore:
Timestamp:
2009/07/17 11:35:37 (15 years ago)
Author:
ramrun
Message:

r18187で商品一覧のページ送りをGETに変更したことによる表示件数・順序の処理変更

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/comu-ver2/data/class/pages/products/LC_Page_Products_List.php

    r18187 r18195  
    7979        $objDb = new SC_Helper_DB_Ex(); 
    8080 
    81         //表示件数の選択 
    82         if(isset($_POST['disp_number']) 
    83            && SC_Utils_Ex::sfIsInt($_POST['disp_number'])) { 
    84             $this->disp_number = $_POST['disp_number']; 
     81        // 表示件数・順序の初期化 
     82        if (!isset($_GET['pageno'])) unset($_SESSION['products_list']); 
     83 
     84        // 表示件数の選択 
     85        if (isset($_POST['disp_number']) && SC_Utils_Ex::sfIsInt($_POST['disp_number'])) { 
     86            $this->disp_number = $_SESSION['products_list']['disp_number'] = $_POST['disp_number']; 
    8587        } else { 
    86             //最小表示件数を選択 
    87             $this->disp_number = current(array_keys($this->arrPRODUCTLISTMAX)); 
    88         } 
    89  
    90         //表示順序の保存 
    91         $this->orderby = isset($_POST['orderby']) ? $_POST['orderby'] : ""; 
     88            $this->disp_number = isset($_SESSION['products_list']['disp_number']) 
     89                ? $_SESSION['products_list']['disp_number'] 
     90                : current(array_keys($this->arrPRODUCTLISTMAX)); 
     91        } 
     92 
     93        // 表示順序の保存 
     94        if (isset($_POST['orderby'])) { 
     95            $this->orderby = $_SESSION['products_list']['orderby'] = $_POST['orderby']; 
     96        } else { 
     97            $this->orderby = isset($_SESSION['products_list']['orderby']) 
     98                ? $_SESSION['products_list']['orderby'] 
     99                : ""; 
     100        } 
    92101 
    93102        // GETのカテゴリIDを元に正しいカテゴリIDを取得する。 
     
    96105        if (!isset($_GET['mode'])) $_GET['mode'] = ""; 
    97106        if (!isset($_GET['name'])) $_GET['name'] = ""; 
    98         if (!isset($_POST['orderby'])) $_POST['orderby'] = ""; 
    99107        if (empty($arrCategory_id)) $arrCategory_id = array("0"); 
    100108 
     
    128136 
    129137            // 商品一覧の表示処理 
    130             $this->lfDispProductsList($arrCategory_id[0], $_GET['name'], $_GET['maker_id'], $this->disp_number, $_POST['orderby']); 
     138            $this->lfDispProductsList($arrCategory_id[0], $_GET['name'], $_GET['maker_id'], $this->disp_number, $this->orderby); 
    131139 
    132140            // 検索条件を画面に表示 
Note: See TracChangeset for help on using the changeset viewer.