Ignore:
Timestamp:
2011/08/01 22:04:46 (13 years ago)
Author:
Seasoft
Message:

#1362 (お届け先の複数指定 数量0も保持される)
#1387 (お届け先の複数指定 数量空欄も許容したい)
#1294 (ソースを読みやすくする)
#1424 (LC_Page_Shopping_Multiple#lfCheckError 無駄な処理)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_11-dev/data/class/pages/shopping/LC_Page_Shopping_Multiple.php

    r21008 r21100  
    9696                break; 
    9797 
    98         default: 
    99             $this->setParamToSplitItems($objFormParam, $objCartSess); 
     98            default: 
     99                $this->setParamToSplitItems($objFormParam, $objCartSess); 
    100100        } 
    101101 
     
    133133        $objFormParam->addParam("メイン一覧画像", "main_list_image"); 
    134134        $objFormParam->addParam("販売価格", "price"); 
    135         $objFormParam->addParam("数量", 'quantity', INT_LEN, 'n', array("MAX_LENGTH_CHECK", "NUM_CHECK"), 1); 
     135        $objFormParam->addParam("数量", 'quantity', INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"), 1); 
    136136        $objFormParam->addParam("配送先住所", 'shipping', INT_LEN, 'n', array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    137137        $objFormParam->addParam("カート番号", "cart_no", INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 
     
    213213 
    214214        $objFormParam->convParam(); 
     215        // 数量未入力は0に置換 
     216        $objFormParam->setValue('quantity', $objFormParam->getValue('quantity', 0)); 
     217 
    215218        $arrErr = $objFormParam->checkError(); 
    216219 
    217         $arrKey = $objFormParam->getKeyList(); 
    218         unset($arrKey['line_of_num']); 
    219220        $arrParams = $objFormParam->getSwapArray(); 
    220221 
    221         foreach ($arrParams as $index => $arrParam) { 
    222             // お届け先を選択していて、数量を入力していない 
    223             if (!SC_Utils_Ex::isBlank($arrParam['shipping']) && SC_Utils_Ex::isBlank($arrParam['quantity'])) { 
    224                 $arrErr['quantity'][$index] = '※ 数量が入力されていません。<br />'; 
    225             } 
    226             // 数量を入力していて、お届け先を選択していない 
    227             if (!SC_Utils_Ex::isBlank($arrParam['quantity']) && SC_Utils_Ex::isBlank($arrParam['shipping'])) { 
    228                 $arrErr['shipping'][$index] = '※ お届け先が入力されていません。<br />'; 
     222        if (empty($arrErr)) { 
     223            foreach ($arrParams as $index => $arrParam) { 
     224                // 数量0で、お届け先を選択している場合 
     225                if ($arrParam['quantity'] == 0 && !SC_Utils_Ex::isBlank($arrParam['shipping'])) { 
     226                    $arrErr['shipping'][$index] = '※ 数量が0の場合、お届け先を入力できません。<br />';; 
     227                } 
     228                // 数量の入力があり、お届け先を選択していない場合 
     229                if ($arrParam['quantity'] > 0 && SC_Utils_Ex::isBlank($arrParam['shipping'])) { 
     230                    $arrErr['shipping'][$index] = '※ お届け先が入力されていません。<br />'; 
     231                } 
    229232            } 
    230233        } 
Note: See TracChangeset for help on using the changeset viewer.