Changeset 19695


Ignore:
Timestamp:
2010/11/30 19:38:05 (11 years ago)
Author:
nanasess
bzr:base-revision:
ohkouchi@loop-az.jp-20101130052421-f23n6phk9nuifexo
bzr:committer:
Kentaro Ohkouchi <ohkouchi@loop-az.jp>
bzr:file-ids:

data/Smarty/templates/admin/products/confirm.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fadmin%2Fproducts%2Fconfirm.tpl
data/Smarty/templates/admin/products/product.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fadmin%2Fproducts%2Fproduct.tpl
data/Smarty/templates/admin/products/product_class.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fadmin%2Fproducts%2Fproduct_class.tpl
data/Smarty/templates/admin/products/product_class_confirm.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fadmin%2Fproducts%2Fproduct_class_confirm.tpl
data/class/SC_Product.php 18277@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Fcomu-ver2%2Fdata%2Fclass%2FSC_Product.php
data/class/pages/admin/products/LC_Page_Admin_Products_Product.php 15342@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fadmin%2Fproducts%2FLC_Page_Admin_Products_Product.php
data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php 15559@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fadmin%2Fproducts%2FLC_Page_Admin_Products_ProductClass.php
bzr:mapping-version:
v4
bzr:repository-uuid:
1e3b908f-19a9-db11-a64c-001125224ba8
bzr:revision-id:
ohkouchi@loop-az.jp-20101130103758-gugs3ykh556e1vkz
bzr:revno:
2425
bzr:revprop:branch-nick:
branches/version-2_5-dev
bzr:root:
branches/version-2_5-dev
bzr:timestamp:
2010-11-30 19:37:58.640000105 +0900
bzr:user-agent:
bzr2.2.1+bzr-svn1.0.4
svn:original-date:
2010-11-30T10:37:58.640000Z
Message:

#823 商品種別によってカートを分ける

  • 商品登録時に支払方法を設定するよう修正
Location:
branches/version-2_5-dev/data
Files:
7 edited

Legend:

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

    r19670 r19695  
    2525<form name="form1" id="form1" method="post" action="?" enctype="multipart/form-data"> 
    2626  <!--{foreach key=key item=item from=$arrForm}--> 
    27     <!--{if $key == 'product_status'}--> 
     27    <!--{if $key == 'product_status' || $key == 'payment_ids'}--> 
    2828      <!--{foreach item=statusVal from=$item}--> 
    2929      <input type="hidden" name="<!--{$key}-->[]" value="<!--{$statusVal|escape}-->" /> 
     
    113113        <!--{$arrForm.stock|escape}--> 
    114114      <!--{/if}--> 
     115      </td> 
     116    </tr> 
     117    <tr> 
     118      <th>支払方法</th> 
     119      <td> 
     120      <!--{foreach from=$arrForm.payment_ids item=payment_id}--> 
     121        <!--{$arrPayments[$payment_id]|escape}-->&nbsp; 
     122      <!--{/foreach}--> 
    115123      </td> 
    116124    </tr> 
  • branches/version-2_5-dev/data/Smarty/templates/admin/products/product.tpl

    r19688 r19695  
    185185      </td> 
    186186    </tr> 
     187    <tr> 
     188      <th>支払方法<span class="attention"> *</span></th> 
     189       <td> 
     190         <span class="attention"><!--{$arrErr.payment_ids}--></span> 
     191         <!--{html_checkboxes name="payment_ids" options=$arrPayments selected=$arrForm.payment_ids}--> 
     192       </td> 
     193    </tr> 
    187194    <!--{/if}--> 
    188195 
     
    195202        <!--{if $smarty.const.OPTION_PRODUCT_DELIV_FEE != 1}--><br /><span class="attention">※現在無効です</span> (パラメータ OPTION_PRODUCT_DELIV_FEE)<!--{/if}--> 
    196203      </td> 
    197     </tr> 
    198     <tr> 
    199       <th>支払方法</th> 
    200        <td> 
    201          <!--{html_checkboxes name="payment_ids" options=$arrPayments selected=$arrForm.payment_ids}--> 
    202        </td> 
    203204    </tr> 
    204205    <tr> 
     
    246247      </td> 
    247248    </tr> 
    248     <!--{* 
    249     <tr> 
    250       <th>成分</th> 
    251       <td> 
    252         <textarea name="comment2" cols="60" rows="8" class="area60" maxlength="<!--{$smarty.const.STEXT_LEN}-->"><!--{$arrForm.comment2|escape}--></textarea> 
    253         <span class="attention"> (上限<!--{$smarty.const.LTEXT_LEN}-->文字)</span> 
    254       </td> 
    255     </tr> 
    256     *}--> 
    257249    <tr> 
    258250      <th>検索ワード<br />※複数の場合は、カンマ( , )区切りで入力して下さい</th> 
  • branches/version-2_5-dev/data/Smarty/templates/admin/products/product_class.tpl

    r19670 r19695  
    102102      <th><!--{$smarty.const.SALE_PRICE_TITLE}-->(円)<span class="attention">*</span></th> 
    103103      <th>商品種別<span class="attention"> *</span></th> 
     104      <th>支払方法<span class="attention"> *</span></th> 
    104105      <th>ダウンロードファイル名<BR><span class="red"> (上限<!--{$smarty.const.STEXT_LEN}-->文字)</span></th> 
    105106      <th>ダウンロード商品用ファイルアップロード<BR>登録可能拡張子:<!--{$smarty.const.DOWNLOAD_EXTENSION}--> (パラメータ DOWNLOAD_EXTENSION)</th> 
     
    141142        <!--{assign var=key value="product_type_id:`$smarty.section.cnt.iteration`"}--> 
    142143        <input type="radio" name="<!--{$key}-->" value="<!--{$smarty.const.PRODUCT_TYPE_NORMAL}-->" <!--{if $arrForm[$key] == "1"}-->checked<!--{/if}-->/>通常商品  
    143         <input type="radio" name="<!--{$key}-->" value="<!--{$smarty.const.PRODUCT_TYPE_NORMAL}-->" <!--{if $arrForm[$key] == "2"}-->checked<!--{/if}--> />ダウンロード商品 
     144        <input type="radio" name="<!--{$key}-->" value="<!--{$smarty.const.PRODUCT_TYPE_DOWNLOAD}-->" <!--{if $arrForm[$key] == "2"}-->checked<!--{/if}--> />ダウンロード商品 
     145      </td> 
     146      <td> 
     147        <!--{assign var=key value="payment_ids:`$smarty.section.cnt.iteration`"}--> 
     148        <span class="attention"><!--{$arrErr[$key]}--></span> 
     149        <!--{html_checkboxes name=$key options=$arrPayments selected=$arrForm[$key]}--> 
    144150      </td> 
    145151      <td> 
    146152        <!--{assign var=key value="down_filename:`$smarty.section.cnt.iteration`"}--> 
    147153        <span class="attention"><!--{$arrErr[$key]}--></span> 
    148         <input type="text" name="<!--{$key}-->" value="<!--{$arrForm[$key]|escape}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" style="<!--{if $arrErr[$key] != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}--><!--{/if}-->" size="60" class="box60" /> 
     154        <input type="text" name="<!--{$key}-->" value="<!--{$arrForm[$key]|escape}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" style="<!--{if $arrErr[$key] != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}--><!--{/if}-->" size="30" class="box30" /> 
    149155      </td> 
    150156      <!--{assign var=key value="down_realfilename:`$smarty.section.cnt.iteration`"}--> 
  • branches/version-2_5-dev/data/Smarty/templates/admin/products/product_class_confirm.tpl

    r19670 r19695  
    2525<form name="form1" id="form1" method="post" action="?" enctype="multipart/form-data"> 
    2626<!--{foreach key=key item=item from=$arrForm}--> 
    27 <input type="hidden" name="<!--{$key}-->" value="<!--{$item|escape}-->" /> 
     27  <!--{if '/payment_ids:/'|preg_match:$key}--> 
     28    <!--{foreach item=paymentsVal from=$item}--> 
     29      <input type="hidden" name="<!--{$key}-->[]" value="<!--{$paymentsVal|escape}-->" /> 
     30    <!--{/foreach}--> 
     31  <!--{else}--> 
     32    <input type="hidden" name="<!--{$key}-->" value="<!--{$item|escape}-->" /> 
     33  <!--{/if}--> 
    2834<!--{/foreach}--> 
     35 
    2936<!--{foreach key=key item=item from=$arrHidden}--> 
    3037<input type="hidden" name="<!--{$key}-->" value="<!--{$item|escape}-->" /> 
     
    4451      <th><!--{$smarty.const.SALE_PRICE_TITLE}-->(円)</th> 
    4552      <th>商品種別</th> 
     53      <th>支払方法</th> 
    4654      <th>ダウンロードファイル名</th> 
    4755      <th>ダウンロード商品用ファイルアップロード</th> 
     
    7381      <!--{assign var=inkey value="`$arrForm[$key]`"}--> 
    7482      <td class="right"><!--{$arrDown[$inkey]}--></td> 
     83      <!--{assign var=key value="payment_ids:`$smarty.section.cnt.iteration`"}--> 
     84      <td> 
     85      <!--{foreach from=$arrForm[$key] item=payment_id}--> 
     86        <!--{$arrPayments[$payment_id]|escape}-->&nbsp; 
     87      <!--{/foreach}--> 
     88      </td> 
    7589      <!--{assign var=key value="down_filename:`$smarty.section.cnt.iteration`"}--> 
    7690      <td class="right"><!--{$arrForm[$key]}--></td> 
  • branches/version-2_5-dev/data/class/SC_Product.php

    r19689 r19695  
    591591                                        MDB2_FETCHMODE_ORDERED); 
    592592        return $paymentIds; 
     593    } 
     594 
     595    /** 
     596     * 商品規格に支払方法を設定する. 
     597     * 
     598     * TODO 現在は DELETE/INSERT だが, UPDATE を検討する. 
     599     * 
     600     * @param integer $productClassId 商品規格ID 
     601     * @param array 設定する支払方法IDの配列 
     602     * @return void 
     603     */ 
     604    function setPaymentOptions($productClassId, $paymentIds) { 
     605        $val['product_class_id'] = $productClassId; 
     606 
     607        $objQuery =& SC_Query::getSingletonInstance(); 
     608        $objQuery->delete('dtb_payment_options', 'product_class_id = ?', array($productClassId)); 
     609        $rank = 1; 
     610        foreach ($paymentIds as $paymentId) { 
     611            $val['payment_id'] = $paymentId; 
     612            $val['rank'] = $rank; 
     613            $objQuery->insert('dtb_payment_options', $val); 
     614            $rank++; 
     615        } 
    593616    } 
    594617 
  • branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php

    r19688 r19695  
    145145                $productStatus= $objProduct->getProductStatus(array($_POST['product_id'])); 
    146146                $this->arrForm['product_status'] = $productStatus[$_POST['product_id']]; 
     147                $this->arrForm['payment_ids'] = $objProduct->getEnablePaymentIds(array($this->arrForm['product_class_id'])); 
    147148 
    148149                // DBデータから画像ファイル名の読込 
     
    638639            } 
    639640 
     641            // 支払方法チェック 
     642            if (empty($array['payment_ids'])) { 
     643                $objErr->arrErr['payment_ids'] = "※ 支払方法は、いずれかを選択してください。<br />"; 
     644            } 
     645 
    640646            //ダウンロード商品チェック 
    641647            if($array['product_type_id'] == PRODUCT_TYPE_DOWNLOAD) { 
     
    882888 
    883889        } 
     890 
     891        $objProduct = new SC_Product(); 
     892        $objProduct->setPaymentOptions($sqlval['product_class_id'], $arrList['payment_ids']); 
    884893    } 
    885894 
  • branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php

    r19670 r19695  
    5454        $this->tpl_subno = 'product'; 
    5555        $this->tpl_subtitle = '商品登録(商品規格)'; 
     56        $this->arrPayments = SC_Helper_DB_Ex::sfGetIDValueList("dtb_payment", "payment_id", "payment_method"); 
    5657    } 
    5758 
     
    290291                $objQuery->insert("dtb_products_class", $pVal); 
    291292            } 
     293 
     294            // 支払方法登録 
     295            $objProduct = new SC_Product(); 
     296            $objProduct->setPaymentOptions($pVal['product_class_id'], $arrList['payment_ids:'.$i]); 
    292297            $i++; 
    293298        } 
     
    355360                if($array["stock_unlimited:".$no] != '1') { 
    356361                    $objErr->doFunc(array("在庫数", "stock:".$no, AMOUNT_LEN), array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); 
     362                } 
     363 
     364                // 支払方法チェック 
     365                if (empty($array['payment_ids:' . $no])) { 
     366                    $objErr->arrErr['payment_ids:' . $no] = "※ 支払方法は、いずれかを選択してください。<br />"; 
    357367                } 
    358368 
     
    442452        $this->arrForm['select_class_id2'] = $this->arrForm["class_id2"]; 
    443453        $this->arrClassCat = $this->getAllClassCategory($this->arrForm["class_id1"], $this->arrForm["class_id2"]); 
     454        $objProduct = new SC_Product(); 
    444455        $total = count($this->arrClassCat); 
     456        // XXX $i = 1 にすれば ($i+1) は $i で良い? 
    445457        for ($i = 0; $i < $total; $i++) { 
    446458            if ($existsValue) { 
    447459                foreach ($productsClass as $key => $val) { 
    448                     if(!$usepostValue){ 
    449                         $this->arrForm[$key . ":" . ($i+1)] = $val; 
    450                     } 
     460                    if(!$usepostValue){ 
     461                        $this->arrForm[$key . ":" . ($i+1)] = $val; 
     462                    } 
    451463                } 
    452464            } 
    453465            foreach ($existsProductsClass[$i] as $key => $val) { 
    454                 if(!$usepostValue){ 
    455                     $this->arrForm[$key . ":" . ($i+1)] = $val; 
    456                 } 
    457                 if($key=="down"){ 
     466                if(!$usepostValue){ 
     467                    $this->arrForm[$key . ":" . ($i+1)] = $val; 
     468                } 
     469 
     470                switch ($key) { 
     471                case 'down': 
    458472                    $this->objDownFile->addFile("ダウンロード販売用ファイル". ":" . ($i+1), 'down_realfilename'. ":" . ($i+1), explode(",", DOWNLOAD_EXTENSION),DOWN_SIZE, true, 0, 0); 
     473                    break; 
     474 
     475                    case 'product_class_id': 
     476                        $this->arrForm["payment_ids:" . ($i+1)] = $objProduct->getEnablePaymentIds(array($val)); 
     477                        break; 
     478                default: 
    459479                } 
    460480            } 
Note: See TracChangeset for help on using the changeset viewer.