Ignore:
Timestamp:
2013/06/29 14:57:46 (11 years ago)
Author:
Seasoft
Message:

#2278 (商品一覧の値取得処理の変更)

  • 過去に実装していたものがあるので統合します。

#2043 (typo修正・ソース整形・ソースコメントの改善 for 2.13.0)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_13-dev/data/class/pages/products/LC_Page_Products_List.php

    r22918 r22920  
    9393    { 
    9494        $objProduct = new SC_Product_Ex(); 
    95  
    9695        // パラメーター管理クラス 
    9796        $objFormParam = new SC_FormParam_Ex();         
    98          
     97 
    9998        // パラメーター情報の初期化 
    10099        $this->lfInitParam($objFormParam); 
    101          
     100 
    102101        // 値の設定 
    103102        $objFormParam->setParam($_REQUEST); 
    104          
     103 
    105104        // 入力値の変換 
    106105        $objFormParam->convParam(); 
    107          
     106 
    108107        // 値の取得 
    109108        $this->arrForm = $objFormParam->getHashArray(); 
     
    148147 
    149148            default: 
    150                 $this->doDefault($objProduct); 
     149                $this->doDefault($objProduct, $objFormParam); 
    151150                break; 
    152151        } 
     
    165164    } 
    166165 
    167     /* パラメーター情報の初期化 */ 
     166    /** 
     167     * パラメーター情報の初期化 
     168     *  
     169     * @param array $objFormParam フォームパラメータークラス 
     170     * @return void 
     171     */ 
    168172    function lfInitParam(&$objFormParam) 
    169173    { 
    170         $objFormParam->addParam('商品ID', 'product_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    171         $objFormParam->addParam('商品名', 'name', STEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    172  
     174        // 抽出条件 
     175        // XXX カートインしていない場合、チェックしていない 
    173176        $objFormParam->addParam('カテゴリID', 'category_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    174177        $objFormParam->addParam('メーカーID', 'maker_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    175          
    176         $objFormParam->addParam('ソート順', 'orderby', INT_LEN, 'n', array('NUM_CHECK','MAX_LENGTH_CHECK')); 
    177         $objFormParam->addParam('商品ID', 'pageno', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    178         $objFormParam->addParam('お気に入り商品ID', 'disp_number', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    179  
    180         $objFormParam->addParam('カテゴリID', 'category_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    181         $objFormParam->addParam('商品規格ID', 'product_class_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    182         $objFormParam->addParam('商品規格ID', 'classcategory_id1', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    183         $objFormParam->addParam('商品規格ID', 'classcategory_id2', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    184         $objFormParam->addParam('個数', 'quantity', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     178        $objFormParam->addParam('商品名', 'name', STEXT_LEN, 'KVa', array('MAX_LENGTH_CHECK')); 
     179        $objFormParam->addParam('表示順序', 'orderby', STEXT_LEN, 'KVa', array('MAX_LENGTH_CHECK')); 
     180        $objFormParam->addParam('ページ番号', 'pageno', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     181        $objFormParam->addParam('表示件数', 'disp_number', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     182        // カートイン 
     183        $objFormParam->addParam('規格1', 'classcategory_id1', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     184        $objFormParam->addParam('規格2', 'classcategory_id2', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     185        $objFormParam->addParam('数量', 'quantity', INT_LEN, 'n', array('EXIST_CHECK', 'ZERO_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     186        $objFormParam->addParam('商品ID', 'product_id', INT_LEN, 'n', array('ZERO_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     187        $objFormParam->addParam('商品規格ID', 'product_class_id', INT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    185188    } 
    186189 
     
    273276 
    274277    /* 入力内容のチェック */ 
    275     function lfCheckError($product_id, &$arrForm, $tpl_classcat_find1, $tpl_classcat_find2) 
     278    function lfCheckError($objFormParam) 
    276279    { 
    277280        // 入力データを渡す。 
     281        $arrForm =  $objFormParam->getHashArray(); 
    278282        $objErr = new SC_CheckError_Ex($arrForm); 
    279  
    280         // 複数項目チェック 
    281         if ($tpl_classcat_find1[$product_id]) { 
    282             $objErr->doFunc(array('規格1', 'classcategory_id1', INT_LEN), array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    283         } 
    284         if ($tpl_classcat_find2[$product_id]) { 
    285             $objErr->doFunc(array('規格2', 'classcategory_id2', INT_LEN), array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    286         } 
    287  
    288         $objErr->doFunc(array('商品規格ID', 'product_class_id', INT_LEN), array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
    289         $objErr->doFunc(array('数量', 'quantity', INT_LEN), array('EXIST_CHECK', 'ZERO_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 
     283        $objErr->arrErr = $objFormParam->checkError(); 
     284 
     285        // 動的チェック 
     286        if ($this->tpl_classcat_find1[$arrForm['product_id']]) { 
     287            $objErr->doFunc(array('規格1', 'classcategory_id1'), array('EXIST_CHECK')); 
     288        } 
     289        if ($this->tpl_classcat_find2[$arrForm['product_id']]) { 
     290            $objErr->doFunc(array('規格2', 'classcategory_id2'), array('EXIST_CHECK')); 
     291        } 
    290292 
    291293        return $objErr->arrErr; 
     
    457459    function lfAddCart($arrForm, $referer) 
    458460    { 
     461        $objCartSess = new SC_CartSession_Ex(); 
     462 
    459463        $product_class_id = $arrForm['product_class_id']; 
    460         $objCartSess = new SC_CartSession_Ex(); 
    461464        $objCartSess->addProduct($product_class_id, $arrForm['quantity']); 
    462465    } 
     
    512515     * @return void 
    513516     */ 
    514     function doDefault(&$objProduct) 
     517    function doDefault(&$objProduct, &$objFormParam) 
    515518    { 
    516519        //商品一覧の表示処理 
     
    560563 
    561564            // 入力内容のチェック 
    562             $arrErr = $this->lfCheckError($target_product_id, $this->arrForm, $this->tpl_classcat_find1, $this->tpl_classcat_find2); 
     565            $arrErr = $this->lfCheckError($objFormParam); 
    563566            if (empty($arrErr)) { 
    564567                $this->lfAddCart($this->arrForm, $_SERVER['HTTP_REFERER']); 
     
    580583        } 
    581584 
    582         $this->tpl_javascript   .= 'function fnOnLoad() 
    583         {' . $js_fnOnLoad . '}'; 
     585        $this->tpl_javascript   .= 'function fnOnLoad() {' . $js_fnOnLoad . '}'; 
    584586        $this->tpl_onload       .= 'fnOnLoad(); '; 
    585587    } 
Note: See TracChangeset for help on using the changeset viewer.