Changeset 17511


Ignore:
Timestamp:
2008/08/08 10:43:36 (13 years ago)
Author:
nakanishi
Message:

#318 規格編集時にdtb_products_classのproduct_class_idが変動しないように修正

Location:
branches/version-2/data
Files:
5 edited

Legend:

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

    r17328 r17511  
    7272                        <input type="hidden" name="image_key" value=""> 
    7373                        <input type="hidden" name="product_id" value="<!--{$arrForm.product_id}-->" > 
     74                        <input type="hidden" name="product_class_id" value="<!--{$arrForm.product_class_id}-->" > 
    7475                        <input type="hidden" name="copy_product_id" value="<!--{$arrForm.copy_product_id}-->" > 
    7576                        <input type="hidden" name="anchor_key" value=""> 
  • branches/version-2/data/Smarty/templates/default/admin/products/product_class.tpl

    r16582 r17511  
    151151                                            <input type="hidden" name="name1:<!--{$smarty.section.cnt.iteration}-->" value="<!--{$arrClassCat[cnt].name1}-->"> 
    152152                                            <input type="hidden" name="name2:<!--{$smarty.section.cnt.iteration}-->" value="<!--{$arrClassCat[cnt].name2}-->"> 
     153                                            <input type="hidden" name="product_class_id:<!--{$smarty.section.cnt.iteration}-->" value="<!--{$arrClassCat[cnt].product_class_id}-->"> 
    153154                                            <!--{assign var=key value="check:`$smarty.section.cnt.iteration`"}--> 
    154155                                            <td align="center"><input type="checkbox" name="check:<!--{$smarty.section.cnt.iteration}-->" value="1" <!--{if $arrForm[$key] == 1}-->checked="checked"<!--{/if}-->></td> 
  • branches/version-2/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php

    r17497 r17511  
    235235        // サブ情報表示・非表示のチェックに使用する。 
    236236        $this->sub_find = $sub_find; 
    237  
    238237        $objView->assignobj($this); 
    239238        $objView->display(MAIN_FRAME); 
     
    329328                                                      "product_id = ?", 
    330329                                                      array($product_id)); 
    331  
     330        //編集時に規格IDが変わってしまうのを防ぐために規格が登録されていなければ規格IDを取得する 
     331        if( $this->lfCheckNonClass($_POST['product_id']) ){ 
     332            $arrRet[0]['product_class_id'] = SC_Utils::sfGetProductClassId($product_id,"0","0"); 
     333        } 
    332334        return $arrRet[0]; 
    333335    } 
     
    478480 
    479481        // 規格登録 
    480         SC_Utils_Ex::sfInsertProductClass($objQuery, $arrList, $product_id); 
     482        SC_Utils_Ex::sfInsertProductClass($objQuery, $arrList, $product_id , $arrList['product_class_id'] ); 
    481483 
    482484        // おすすめ商品登録 
  • branches/version-2/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php

    r17501 r17511  
    127127                $this->arrClassCat = $this->lfGetClassCatListEdit($_POST['product_id']); 
    128128            } 
    129  
    130129            $this->lfProductClassPage();   // 規格登録ページ 
    131130            break; 
     
    140139                $this->arrClassCat = $this->lfGetClassCatListDisp($_POST['select_class_id1'], $_POST['select_class_id2']); 
    141140            } 
    142  
    143141            $this->lfProductClassPage();   // 規格登録ページ 
    144142            break; 
     
    218216        $this->arrForm['product_name'] = $product_name; 
    219217    } 
    220  
     218     
     219    /** 
     220     * デフォルトの表示 
     221     * 
     222     * @param object $objQuery 
     223     * @param integer $product_id 製品のID 
     224     * @param integer $max 表示される最大値 
     225     */ 
    221226    function lfSetDefaultClassCat($objQuery, $product_id, $max) { 
    222227 
    223228        // デフォルト値の読込 
    224         $col = "product_code, price01, price02, stock, stock_unlimited"; 
     229        $col = "product_class_id, product_code, price01, price02, stock, stock_unlimited"; 
    225230        $arrRet = $objQuery->select($col, "dtb_products_class", "product_id = ? AND classcategory_id1 = 0 AND classcategory_id2 = 0", array($product_id));; 
    226231 
     
    228233            $no = 1; 
    229234            for($cnt = 0; $cnt < $max; $cnt++) { 
     235                $this->arrForm["product_class_id:".$no] = $arrRet[0]['product_class_id']; 
    230236                $this->arrForm["product_code:".$no] = $arrRet[0]['product_code']; 
    231237                $this->arrForm['stock:'.$no] = $arrRet[0]['stock']; 
     
    254260            $sql.= "WHERE class_id1 = ? AND class_id2 = 0 ORDER BY rank1 DESC;"; 
    255261            $arrRet = $objQuery->getall($sql, array($class_id1)); 
    256  
     262             
    257263        } 
    258264 
     
    300306        // デフォルト値を設定 
    301307        $this->lfSetDefaultClassCat($objQuery, $product_id, $max); 
    302  
    303308        $no = 1; 
    304  
    305309        for($cnt = 0; $cnt < $max; $cnt++) { 
    306310            $this->arrForm["classcategory_id1:".$no] = $arrList[$cnt]['classcategory_id1']; 
    307311            $this->arrForm["classcategory_id2:".$no] = $arrList[$cnt]['classcategory_id2']; 
     312            $this->arrForm["product_class_id:".$no] = $arrList[$cnt]['product_class_id']; 
    308313            if($arrList[$cnt]['product_id'] != "") { 
    309314                $this->arrForm["product_code:".$no] = $arrList[$cnt]['product_code']; 
     
    343348                $sqlval['classcategory_id1'] = $arrList["classcategory_id1:".$cnt]; 
    344349                $sqlval['classcategory_id2'] = $arrList["classcategory_id2:".$cnt]; 
     350                if( strlen($arrList["product_class_id:".$cnt]) > 0 ){ 
     351                    $sqlval['product_class_id'] = $arrList["product_class_id:".$cnt]; 
     352                } 
    345353                $sqlval['product_code'] = $arrList["product_code:".$cnt]; 
    346354                $sqlval['stock'] = $arrList["stock:".$cnt]; 
  • branches/version-2/data/class/util/SC_Utils.php

    r17492 r17511  
    756756 
    757757    /* 規格の登録 */ 
    758     function sfInsertProductClass($objQuery, $arrList, $product_id) { 
     758    function sfInsertProductClass($objQuery, $arrList, $product_id , $product_class_id = "") { 
    759759        // すでに規格登録があるかどうかをチェックする。 
    760760        $where = "product_id = ? AND classcategory_id1 <> 0 AND classcategory_id1 <> 0"; 
     
    772772 
    773773            $sqlval['product_id'] = $product_id; 
     774            if(strlen($product_class_id ) > 0 ){ 
     775                $sqlval['product_class_id'] = $product_class_id; 
     776            } 
    774777            $sqlval['classcategory_id1'] = '0'; 
    775778            $sqlval['classcategory_id2'] = '0'; 
Note: See TracChangeset for help on using the changeset viewer.