Changeset 20638


Ignore:
Timestamp:
2011/03/14 19:59:56 (10 years ago)
Author:
t_yuo
Message:

#1055 (関連商品い同じ商品を登録出来る)
修正いたしました。

Location:
branches/version-2_5-dev/data
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/Smarty/templates/admin/products/product.tpl

    r20593 r20638  
    7676<input type="hidden" name="copy_product_id" value="<!--{$arrForm.copy_product_id}-->" /> 
    7777<input type="hidden" name="anchor_key" value="" /> 
     78<input type="hidden" name="select_recommend_no" value="" /> 
    7879<input type="hidden" name="has_product_class" value="<!--{$arrForm.has_product_class|h}-->" /> 
    7980<!--{foreach key=key item=item from=$arrForm.arrHidden}--> 
     
    417418                <!--{assign var=key value="recommend_delete`$smarty.section.cnt.iteration`"}--> 
    418419                <input type="checkbox" name="<!--{$key}-->" value="1" />削除<br /> 
     420               <!--{assign var=key value="recommend_comment`$smarty.section.cnt.iteration`"}--> 
     421                <span class="attention"><!--{$arrErr[$key]}--></span> 
    419422                商品コード:<!--{$arrRecommend[$recommend_no].product_code_min}--><br /> 
    420423                商品名:<!--{$arrRecommend[$recommend_no].name|h}--><br /> 
    421                 <!--{assign var=key value="recommend_comment`$smarty.section.cnt.iteration`"}--> 
    422                 <span class="attention"><!--{$arrErr[$key]}--></span> 
    423424                <textarea name="<!--{$key}-->" cols="60" rows="8" class="area60" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" ><!--{$arrRecommend[$recommend_no].comment|h}--></textarea><br /> 
    424425                <span class="attention"> (上限<!--{$smarty.const.LTEXT_LEN}-->文字)</span> 
  • branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php

    r20616 r20638  
    235235            // 入力画面表示設定 
    236236            $this->arrForm = $this->lfSetViewParam_InputPage($objUpFile, $objDownFile, $arrForm); 
     237 
     238            // 選択された関連商品IDがすでに登録している関連商品と重複していないかチェック 
     239            $this->lfCheckError_RecommendSelect($this->arrForm, $this->arrErr); 
     240 
    237241            // ページonload時のJavaScript設定 
    238             $anchor_hash = $this->getAnchorHash($arrForm['anchor_key']); 
     242            $anchor_hash = $this->getAnchorHash($this->arrForm['anchor_key']); 
    239243            $this->tpl_onload = $this->lfSetOnloadJavaScript_InputPage($anchor_hash); 
    240244            break; 
     
    346350        } 
    347351 
    348                 $objFormParam->addParam("商品ID", "copy_product_id", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK")); 
     352        $objFormParam->addParam("商品ID", "copy_product_id", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK")); 
    349353 
    350354        $objFormParam->addParam("has_product_class", "has_product_class", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK")); 
     
    386390    function lfInitFormParam_RecommendSelect(&$objFormParam) { 
    387391        $objFormParam->addParam("anchor_key", "anchor_key", "", "", array()); 
     392        $objFormParam->addParam("select_recommend_no", "select_recommend_no", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK")); 
    388393    } 
    389394 
     
    455460        $arrErr = array_merge((array)$arrErr, (array)$objErr->arrErr); 
    456461        return $arrErr; 
     462    } 
     463 
     464    /** 
     465     * 関連商品の重複登録チェック、エラーチェック 
     466     * 
     467     * 関連商品の重複があった場合はエラーメッセージを格納し、該当の商品IDをリセットする 
     468     * 
     469     * @param array $arrForm 入力値の配列 
     470     * @param array $arrErr エラーメッセージの配列 
     471     * @return void 
     472     */ 
     473    function lfCheckError_RecommendSelect(&$arrForm, &$arrErr) { 
     474        $select_recommend_no = $arrForm['select_recommend_no']; 
     475        $select_recommend_id = $arrForm['recommend_id' . $select_recommend_no]; 
     476 
     477        foreach(array_keys($arrForm) as $key) { 
     478            if(preg_match('/^recommend_id/', $key)) { 
     479                if($select_recommend_no == preg_replace('/^recommend_id/', '', $key)) { 
     480                    continue; 
     481                } 
     482 
     483                if($select_recommend_id == $arrForm[$key]) { 
     484                    // 重複した場合、選択されたデータをリセットする 
     485                    $arrForm['recommend_id' . $select_recommend_no] = ''; 
     486                    $arrErr['recommend_comment' . $select_recommend_no] = '※ すでに登録されている関連商品です。<br />'; 
     487                    break; 
     488                } 
     489            } 
     490        } 
    457491    } 
    458492 
Note: See TracChangeset for help on using the changeset viewer.