Ignore:
Timestamp:
2011/07/03 04:16:46 (13 years ago)
Author:
Seasoft
Message:

#1322 (単価の表示が永続化される変数と異なる)
#1328 (複数配送時に入力内容確認画面でお届け先別商品欄に単価が表示されない)
#1362 (お届け先の複数指定 数量0も保持される)
#1387 (お届け先の複数指定 数量空欄も許容したい)

Location:
branches/version-2_11-dev/data
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_11-dev/data/Smarty/templates/default/shopping/multiple.tpl

    r20984 r21008  
    6868                    <tr> 
    6969                        <td class="alignC"> 
    70                         <a 
    71                             <!--{if $arrForm.main_image[$index]|strlen >= 1}--> href="<!--{$smarty.const.IMAGE_SAVE_URLPATH}--><!--{$arrForm.main_image.value[$index]|sfNoImageMainList|h}-->" class="expansion" target="_blank" 
    72                             <!--{/if}--> 
    73                         > 
    74                             <img src="<!--{$smarty.const.ROOT_URLPATH}-->resize_image.php?image=<!--{$arrForm.main_list_image.value[$index]|sfNoImageMainList|h}-->&amp;width=65&amp;height=65" alt="&lt;!--{$arrForm.name.value[$index]|h}--&gt;" /></a> 
     70                            <a 
     71                                <!--{if $arrForm.main_image[$index]|strlen >= 1}--> href="<!--{$smarty.const.IMAGE_SAVE_URLPATH}--><!--{$arrForm.main_image.value[$index]|sfNoImageMainList|h}-->" class="expansion" target="_blank" 
     72                                <!--{/if}--> 
     73                            > 
     74                                <img src="<!--{$smarty.const.ROOT_URLPATH}-->resize_image.php?image=<!--{$arrForm.main_list_image.value[$index]|sfNoImageMainList|h}-->&amp;width=65&amp;height=65" alt="&lt;!--{$arrForm.name.value[$index]|h}--&gt;" /></a> 
    7575                        </td> 
    7676                        <td><!--{* 商品名 *}--><strong><!--{$arrForm.name.value[$index]|h}--></strong><br /> 
     
    111111                            <input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
    112112                            <!--{assign var=key value="shipping"}--> 
    113                             <select name="<!--{$key}-->[<!--{$index}-->]"><!--{html_options options=$addrs selected=$arrForm[$key].value[$index]}--></select> 
     113                            <!--{if strlen($arrErr[$key][$index]) >= 1}--> 
     114                                <div class="attention"><!--{$arrErr[$key][$index]}--></div> 
     115                            <!--{/if}--> 
     116                            <select name="<!--{$key}-->[<!--{$index}-->]" style="<!--{$arrErr[$key][$index]|sfGetErrorColor}-->"> 
     117                                <!--{html_options options=$addrs selected=$arrForm[$key].value[$index]}--> 
     118                            </select> 
    114119                        </td> 
    115120                    </tr> 
  • branches/version-2_11-dev/data/Smarty/templates/mobile/shopping/multiple.tpl

    r20764 r21008  
    4747<!--{assign var=key value="main_list_image"}--> 
    4848<input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
    49 <!--{assign var=key value="price02"}--> 
     49<!--{assign var=key value="price"}--> 
    5050<input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
    5151 
     
    5454<!--{* 規格名2 *}--><!--{if $arrForm.classcategory_name2.value[$index] != ""}--><!--{$arrForm.class_name2.value[$index]}-->:<!--{$arrForm.classcategory_name2.value[$index]}--><br><!--{/if}--> 
    5555<!--{* 販売価格 *}--> 
    56 <!--{$arrForm.price02.value[$index]|sfCalcIncTax:$arrInfo.tax:$arrInfo.tax_rule|number_format}-->円<br> 
     56<!--{$arrForm.price.value[$index]|sfCalcIncTax:$arrInfo.tax:$arrInfo.tax_rule|number_format}-->円<br> 
    5757 
    5858<!--{assign var=key value="quantity"}--> 
     
    6464 
    6565<!--{assign var=key value="shipping"}--> 
     66<!--{if strlen($arrErr[$key][$index]) >= 1}--> 
     67<font color="#FF0000"><!--{$arrErr[$key][$index]}--></font> 
     68<!--{/if}--> 
    6669お届け先:<br> 
    67 <select name="<!--{$key}-->[<!--{$index}-->]"><!--{html_options options=$addrs selected=$arrForm[$key].value[$index]}--></select> 
     70<select name="<!--{$key}-->[<!--{$index}-->]"> 
     71<!--{html_options options=$addrs selected=$arrForm[$key].value[$index]}--> 
     72</select> 
    6873<br> 
    6974<br> 
  • branches/version-2_11-dev/data/Smarty/templates/sphone/shopping/multiple.tpl

    r20969 r21008  
    7474                        <!--{$arrForm.class_name2.value[$index]|h}-->:<!--{$arrForm.classcategory_name2.value[$index]|h}--><br /> 
    7575                    <!--{/if}--> 
    76                     <!--{$arrForm.price02.value[$index]|sfCalcIncTax:$arrInfo.tax:$arrInfo.tax_rule|number_format}-->円 
     76                    <!--{$arrForm.price.value[$index]|sfCalcIncTax:$arrInfo.tax:$arrInfo.tax_rule|number_format}-->円 
    7777                </td> 
    7878                <td class="multi_nu"> 
    79                   <input class="multi_nu" type="hidden" name="cart_no[<!--{$index}-->]" value="<!--{$index}-->" /> 
    80                   <!--{assign var=key value="product_class_id"}--> 
    81                   <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
    82                   <!--{assign var=key value="name"}--> 
    83                   <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
    84                   <!--{assign var=key value="class_name1"}--> 
    85                   <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
    86                   <!--{assign var=key value="class_name2"}--> 
    87                   <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
    88                   <!--{assign var=key value="classcategory_name1"}--> 
    89                   <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
    90                   <!--{assign var=key value="classcategory_name2"}--> 
    91                   <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
    92                   <!--{assign var=key value="main_image"}--> 
    93                   <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
    94                   <!--{assign var=key value="main_list_image"}--> 
    95                   <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
    96                   <!--{assign var=key value="price02"}--> 
    97                   <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
    98                   <!--{assign var=key value="quantity"}--> 
    99                   <!--{if $arrErr[$key][$index] != ''}--> 
    100                       <span class="attention"><!--{$arrErr[$key][$index]}--></span> 
    101                   <!--{/if}--> 
    102                   <input class="multi_nu" type="text" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" size="4" /> 
     79                    <input class="multi_nu" type="hidden" name="cart_no[<!--{$index}-->]" value="<!--{$index}-->" /> 
     80                    <!--{assign var=key value="product_class_id"}--> 
     81                    <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
     82                    <!--{assign var=key value="name"}--> 
     83                    <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
     84                    <!--{assign var=key value="class_name1"}--> 
     85                    <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
     86                    <!--{assign var=key value="class_name2"}--> 
     87                    <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
     88                    <!--{assign var=key value="classcategory_name1"}--> 
     89                    <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
     90                    <!--{assign var=key value="classcategory_name2"}--> 
     91                    <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
     92                    <!--{assign var=key value="main_image"}--> 
     93                    <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
     94                    <!--{assign var=key value="main_list_image"}--> 
     95                    <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
     96                    <!--{assign var=key value="price"}--> 
     97                    <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" /> 
     98                    <!--{assign var=key value="quantity"}--> 
     99                    <!--{if $arrErr[$key][$index] != ''}--> 
     100                        <span class="attention"><!--{$arrErr[$key][$index]}--></span> 
     101                    <!--{/if}--> 
     102                    <input class="multi_nu" type="text" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" size="4" /> 
    103103                </td> 
    104104             </tr> 
     
    109109              <td colspan="3"> 
    110110                <!--{assign var=key value="shipping"}--> 
    111                 <select name="<!--{$key}-->[<!--{$index}-->]"><!--{html_options options=$addrs selected=$arrForm[$key].value[$index]}--></select> 
     111                <!--{if strlen($arrErr[$key][$index]) >= 1}--> 
     112                    <div class="attention"><!--{$arrErr[$key][$index]}--></div> 
     113                <!--{/if}--> 
     114                <select name="<!--{$key}-->[<!--{$index}-->]"> 
     115                    <!--{html_options options=$addrs selected=$arrForm[$key].value[$index]}--> 
     116                </select> 
    112117              </td> 
    113118            </tr> 
  • branches/version-2_11-dev/data/class/pages/shopping/LC_Page_Shopping_Multiple.php

    r21006 r21008  
    7575                                            $this->tpl_uniqid); 
    7676        $this->tpl_addrmax = count($this->addrs); 
     77        $this->addrs = array_merge(array('' => '選択してください'), $this->addrs); 
    7778        $this->lfInitParam($objFormParam); 
    7879 
     
    132133        $objFormParam->addParam("メイン一覧画像", "main_list_image"); 
    133134        $objFormParam->addParam("販売価格", "price"); 
    134         $objFormParam->addParam("数量", 'quantity', INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"), 1); 
    135         $objFormParam->addParam("配送先住所", 'shipping', INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 
     135        $objFormParam->addParam("数量", 'quantity', INT_LEN, 'n', array("MAX_LENGTH_CHECK", "NUM_CHECK"), 1); 
     136        $objFormParam->addParam("配送先住所", 'shipping', INT_LEN, 'n', array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    136137        $objFormParam->addParam("カート番号", "cart_no", INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 
    137138        $objFormParam->addParam("行数", "line_of_num", INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 
     
    213214        $objFormParam->convParam(); 
    214215        $arrErr = $objFormParam->checkError(); 
     216 
     217        $arrKey = $objFormParam->getKeyList(); 
     218        unset($arrKey['line_of_num']); 
     219        $arrParams = $objFormParam->getSwapArray(); 
     220 
     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 />'; 
     229            } 
     230        } 
     231 
    215232        // 入力エラーが無い場合、カゴの中身との数量の整合を確認 
    216  
    217233        if (empty($arrErr)) { 
    218234            $arrQuantity = array(); 
    219235            // 入力内容を集計 
    220             $arrParams = $objFormParam->getHashArray(); 
    221             $arrParams = SC_Utils_Ex::sfSwapArray($arrParams); 
    222236            foreach ($arrParams as $arrParam) { 
    223237                $product_class_id = $arrParam['product_class_id']; 
     
    230244                // 差異がある場合、エラーを記録 
    231245                if ($arrCartRow['quantity'] != $arrQuantity[$product_class_id]) { 
    232                     foreach ($arrParams as $key => $arrParam) { 
     246                    foreach ($arrParams as $index => $arrParam) { 
    233247                        if ($arrParam['product_class_id'] == $product_class_id) { 
    234                             $arrErr['quantity'][$key] = 'カゴの中(数量:' . $arrCartRow['quantity'] .')と合計が一致していません。<br />'; 
     248                            $arrErr['quantity'][$index] = '※ カゴの中(数量:' . $arrCartRow['quantity'] .')と合計が一致していません。<br />'; 
    235249                        } 
    236250                    } 
     
    257271        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    258272 
    259         $arrParams = $objFormParam->getHashArray(); 
    260         $total = $arrParams['line_of_num']; 
    261  
    262         for ($index = 0; $index < $total; $index++) { 
    263             $other_deliv_id = $arrParams['shipping'][$index]; 
     273        $arrParams = $objFormParam->getSwapArray(); 
     274 
     275        foreach ($arrParams as $arrParam) { 
     276            $other_deliv_id = $arrParam['shipping']; 
    264277 
    265278            if ($objCustomer->isLoginSuccess(true)) { 
     
    278291                $arrValues = $objPurchase->getShippingTemp(); 
    279292            } 
    280             $arrItemTemp[$other_deliv_id][$arrParams['product_class_id'][$index]] += $arrParams['quantity'][$index]; 
     293            $arrItemTemp[$other_deliv_id][$arrParam['product_class_id']] += $arrParam['quantity']; 
    281294        } 
    282295 
     
    289302        foreach ($arrItemTemp as $other_deliv_id => $arrProductClassIds) { 
    290303            foreach ($arrProductClassIds as $product_class_id => $quantity) { 
     304                if ($quantity == 0) continue; 
    291305                $objPurchase->setShipmentItemTemp($other_deliv_id, 
    292306                                                  $product_class_id, 
Note: See TracChangeset for help on using the changeset viewer.