Ignore:
Timestamp:
2011/02/08 00:39:38 (13 years ago)
Author:
nanasess
bzr:base-revision:
ohkouchi@loop-az.jp-20110207061343-pdr6j83tx0vflxw6
bzr:committer:
Kentaro Ohkouchi <ohkouchi@loop-az.jp>
bzr:file-ids:

data/Smarty/templates/default/shopping/confirm.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fshopping%2Fconfirm.tpl
data/Smarty/templates/default/shopping/payment.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fshopping%2Fpayment.tpl
data/Smarty/templates/mobile/shopping/confirm.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fmobile%2Fshopping%2Fconfirm.tpl
data/Smarty/templates/mobile/shopping/payment.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fmobile%2Fshopping%2Fpayment.tpl
data/Smarty/templates/mobile/shopping/select_deliv.tpl select_deliv.tpl-20110207152600-lm5bjhtot5ipow7j-1
data/Smarty/templates/sphone/shopping/confirm.tpl confirm.tpl-20101209134550-lsv02w9wikfx9cj3-35
data/Smarty/templates/sphone/shopping/payment.tpl payment.tpl-20101209134550-lsv02w9wikfx9cj3-40
data/class/SC_CartSession.php 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2FSC_CartSession.php
data/class/helper/SC_Helper_Purchase.php sc_helper_purchase.p-20101020100530-jyaoa7ch9pdfjqzp-1
data/class/pages/shopping/LC_Page_Shopping_Confirm.php 15223@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fshopping%2FLC_Page_Shopping_Confirm.php
data/class/pages/shopping/LC_Page_Shopping_Payment.php 15223@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fshopping%2FLC_Page_Shopping_Payment.php
html/install/sql/create_table_mysql.sql 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fhtml%2Finstall%2Fsql%2Fcreate_table_mysql.sql
html/install/sql/create_table_pgsql.sql 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fhtml%2Finstall%2Fsql%2Fcreate_table_pgsql.sql
bzr:mapping-version:
v4
bzr:merge:

ohkouchi@loop-az.jp-20110207153818-bz29olj49qadtm21
bzr:repository-uuid:
1e3b908f-19a9-db11-a64c-001125224ba8
bzr:revision-id:
ohkouchi@loop-az.jp-20110207153932-24u51fmjk6whjykx
bzr:revno:
2840
bzr:revprop:branch-nick:
branches/version-2_5-dev
bzr:root:
branches/version-2_5-dev
bzr:text-revisions:

data/Smarty/templates/default/shopping/confirm.tpl ohkouchi@loop-az.jp-20110207153818-bz29olj49qadtm21
data/Smarty/templates/default/shopping/payment.tpl ohkouchi@loop-az.jp-20110207153818-bz29olj49qadtm21
data/Smarty/templates/mobile/shopping/confirm.tpl ohkouchi@loop-az.jp-20110207153818-bz29olj49qadtm21
data/Smarty/templates/mobile/shopping/payment.tpl ohkouchi@loop-az.jp-20110207153818-bz29olj49qadtm21
data/Smarty/templates/mobile/shopping/select_deliv.tpl ohkouchi@loop-az.jp-20110207153818-bz29olj49qadtm21
data/Smarty/templates/sphone/shopping/confirm.tpl ohkouchi@loop-az.jp-20110207153818-bz29olj49qadtm21
data/Smarty/templates/sphone/shopping/payment.tpl ohkouchi@loop-az.jp-20110207153818-bz29olj49qadtm21
data/class/SC_CartSession.php ohkouchi@loop-az.jp-20110207153818-bz29olj49qadtm21
data/class/helper/SC_Helper_Purchase.php ohkouchi@loop-az.jp-20110207153818-bz29olj49qadtm21
data/class/pages/shopping/LC_Page_Shopping_Confirm.php ohkouchi@loop-az.jp-20110207153818-bz29olj49qadtm21
data/class/pages/shopping/LC_Page_Shopping_Payment.php ohkouchi@loop-az.jp-20110207153818-bz29olj49qadtm21
html/install/sql/create_table_mysql.sql ohkouchi@loop-az.jp-20110207153818-bz29olj49qadtm21
html/install/sql/create_table_pgsql.sql ohkouchi@loop-az.jp-20110207153818-bz29olj49qadtm21
bzr:timestamp:
2011-02-08 00:39:32.996000051 +0900
bzr:user-agent:
bzr2.2.1+bzr-svn1.0.4
svn:original-date:
2011-02-07T15:39:32.996000Z
Message:

#990(配送設定・支払方法設定の仕様変更)

  • 支払方法設定ページ
Location:
branches/version-2_5-dev/data
Files:
1 added
10 edited

Legend:

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

    r19983 r20112  
    244244            <!--お届け先ここまで--> 
    245245 
    246             <h3>▼お支払方法・その他お問い合わせ</h3> 
    247             <table summary="お支払方法・その他お問い合わせ" class="delivname"> 
     246            <h3>▼配送方法・お支払方法・その他お問い合わせ</h3> 
     247            <table summary="配送方法・お支払方法・その他お問い合わせ" class="delivname"> 
    248248                <tbody> 
     249                <tr> 
     250                    <th>配送方法</th> 
     251                    <td><!--{$arrDeliv[$arrData.deliv_id]|h}--></td> 
     252                </tr> 
    249253                <tr> 
    250254                    <th>お支払方法</th> 
    251255                    <td><!--{$arrData.payment_method|h}--></td> 
    252256                </tr> 
    253                 <!--{* 販売方法判定(ダウンロード販売のみの場合はお届け日、時間を表示しない) *}--> 
    254257                <tr> 
    255258                    <th>その他お問い合わせ</th> 
     
    258261                </tbody> 
    259262            </table> 
    260  
    261             <!--{if 'sfTSPrintOrderBox'|function_exists}--> 
    262                 <!--{'sfTSPrintOrderBox'|call_user_func}--> 
    263             <!--{/if}--> 
    264263 
    265264            <div class="tblareabtn"> 
  • branches/version-2_5-dev/data/Smarty/templates/default/shopping/payment.tpl

    r20068 r20112  
    2121 *}--> 
    2222<!--▼CONTENTS--> 
     23<script type="text/javascript">//<![CDATA[ 
     24    $(function() { 
     25        $('input[id^=deliv_]').click(function() { 
     26            var data = {}; 
     27            data.mode = 'select_deliv'; 
     28            data.deliv_id = $(this).val(); 
     29            $.ajax({ 
     30                type : 'POST', 
     31                url : location.pathname, 
     32                data: data, 
     33                cache : false, 
     34                dataType : 'json', 
     35                error : remoteException, 
     36                success : function(data, dataType) { 
     37                    if (data.error) { 
     38                        remoteException(); 
     39                    } else { 
     40                        // 支払い方法の行を生成 
     41                        var payment_tbody = $('#payment tbody'); 
     42                        payment_tbody.empty(); 
     43                        for (var i in data.arrPayment) { 
     44                            // ラジオボタン 
     45                            var radio = $('<input type="radio" />') 
     46                                .attr('name', 'payment_id') 
     47                                .attr('id', 'pay_' + i) 
     48                                .val(data.arrPayment[i].payment_id); 
     49                            // ラベル 
     50                            var label = $('<label />') 
     51                                .attr('for', 'pay_' + i) 
     52                                .text(data.arrPayment[i].payment_method); 
     53                            // 行 
     54                            var tr = $('<tr />') 
     55                                .append($('<td />') 
     56                                        .addClass('centertd') 
     57                                        .append(radio)) 
     58                                .append($('<td />').append(label)); 
     59 
     60                            // 支払方法の画像が登録されている場合は表示 
     61                            if (data.img_show) { 
     62                                var payment_image = data.arrPayment[i].payment_image; 
     63                                $('th#payment_method').attr('colspan', 3); 
     64                                if (payment_image) { 
     65                                    var img = $('<img />').attr('src', '<!--{$smarty.const.IMAGE_SAVE_URLPATH}-->' + payment_image); 
     66                                    tr.append($('<td />').append(img)); 
     67                                } else { 
     68                                    tr.append($('<td />')); 
     69                                } 
     70                            } else { 
     71                                $('th#payment_method').attr('colspan', 2); 
     72                            } 
     73 
     74                            tr.appendTo(payment_tbody); 
     75                        } 
     76                        // お届け時間を生成 
     77                        var deliv_time_id_select = $('select[id^=deliv_time_id]'); 
     78                        deliv_time_id_select.empty(); 
     79                        deliv_time_id_select.append($('<option />').text('指定なし').val('')); 
     80                        for (var i in data.arrDelivTime) { 
     81                            var option = $('<option />') 
     82                                .val(i) 
     83                                .text(data.arrDelivTime[i]) 
     84                                .appendTo(deliv_time_id_select); 
     85                        } 
     86                    } 
     87                } 
     88            }); 
     89        }); 
     90 
     91        /** 
     92         * 通信エラー表示. 
     93         */ 
     94        function remoteException(XMLHttpRequest, textStatus, errorThrown) { 
     95            alert('通信中にエラーが発生しました。カート画面に移動します。'); 
     96            location.href = '<!--{$smarty.const.CART_URLPATH}-->'; 
     97        } 
     98    }); 
     99//]]> 
     100</script> 
    23101<div id="under02column"> 
    24102    <div id="under02column_shopping"> 
     
    31109            <input type="hidden" name="mode" value="confirm" /> 
    32110            <input type="hidden" name="uniqid" value="<!--{$tpl_uniqid}-->" /> 
     111 
     112            <!--{assign var=key value="deliv_id"}--> 
     113            <!--{if $is_single_deliv}--> 
     114                <input type="hidden" name="<!--{$key}-->" value="<!--{$arrForm[$key].value}-->" /> 
     115            <!--{else}--> 
     116            <div class="payarea"> 
     117                <h3>配送方法の指定</h3> 
     118                <p>配送方法をご選択ください。</p> 
     119 
     120                <!--{if $arrErr[$key] != ""}--> 
     121                <p class="attention"><!--{$arrErr[$key]}--></p> 
     122                <!--{/if}--> 
     123                <table summary="配送方法選択"> 
     124                    <tr> 
     125                        <th>選択</th> 
     126                        <th colspan="2">配送方法</th> 
     127                    </tr> 
     128                    <!--{section name=cnt loop=$arrDeliv}--> 
     129                    <tr> 
     130                        <td class="centertd"><input type="radio" id="deliv_<!--{$smarty.section.cnt.iteration}-->" name="<!--{$key}-->"  value="<!--{$arrDeliv[cnt].deliv_id}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" <!--{$arrDeliv[cnt].deliv_id|sfGetChecked:$arrForm[$key].value}--> /> 
     131                        </td> 
     132                        <td> 
     133                            <label for="deliv_<!--{$smarty.section.cnt.iteration}-->"><!--{$arrDeliv[cnt].name|h}--><!--{if $arrDeliv[cnt].remark != ""}--><p><!--{$arrDeliv[cnt].remark|h}--></p><!--{/if}--></label> 
     134                        </td> 
     135                    </tr> 
     136                    <!--{/section}--> 
     137                </table> 
     138            </div> 
     139            <!--{/if}--> 
     140 
    33141            <div class="payarea"> 
    34142                <h3>お支払方法の指定</h3> 
     
    39147                <p class="attention"><!--{$arrErr[$key]}--></p> 
    40148                <!--{/if}--> 
    41                 <table summary="お支払方法選択"> 
    42                     <tr> 
     149                <table summary="お支払方法選択" id="payment"> 
     150                    <thead> 
     151                      <tr> 
    43152                        <th>選択</th> 
    44                         <th colspan="<!--{if !$img_show}-->2<!--{else}-->3<!--{/if}-->">お支払方法</th> 
    45                     </tr> 
    46                     <!--{section name=cnt loop=$arrPayment}--> 
    47                     <tr> 
    48                         <td class="centertd"><input type="radio" id="pay_<!--{$smarty.section.cnt.iteration}-->" name="<!--{$key}-->"  value="<!--{$arrPayment[cnt].payment_id}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" <!--{$arrPayment[cnt].payment_id|sfGetChecked:$arrForm[$key].value}--> /> 
    49                         </td> 
     153                        <th colspan="<!--{if !$img_show}-->2<!--{else}-->3<!--{/if}-->" id="payment_method">お支払方法</th> 
     154                      </tr> 
     155                    </thead> 
     156                    <tbody> 
     157                      <!--{section name=cnt loop=$arrPayment}--> 
     158                      <tr> 
     159                        <td class="centertd"><input type="radio" id="pay_<!--{$smarty.section.cnt.iteration}-->" name="<!--{$key}-->"  value="<!--{$arrPayment[cnt].payment_id}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" <!--{$arrPayment[cnt].payment_id|sfGetChecked:$arrForm[$key].value}--> /></td> 
    50160                        <td> 
    51                             <label for="pay_<!--{$smarty.section.cnt.iteration}-->"><!--{$arrPayment[cnt].payment_method|h}--><!--{if $arrPayment[cnt].note != ""}--><!--{/if}--></label> 
     161                          <label for="pay_<!--{$smarty.section.cnt.iteration}-->"><!--{$arrPayment[cnt].payment_method|h}--><!--{if $arrPayment[cnt].note != ""}--><!--{/if}--></label> 
    52162                        </td> 
    53163                        <!--{if $img_show}--> 
     
    58168                            </td> 
    59169                        <!--{/if}--> 
    60                     </tr> 
     170                      </tr> 
    61171                    <!--{/section}--> 
     172                  </tbody> 
    62173                </table> 
    63174            </div> 
     
    67178                <h3>お届け時間の指定</h3> 
    68179                <p>ご希望の方は、お届け時間を選択してください。</p> 
    69                 <!--{foreach item=shippingItem name=shippingItem from=$shipping}--> 
     180                <!--{foreach item=shippingItem name=shippingItem from=$arrShipping}--> 
    70181                <!--{assign var=index value=$smarty.foreach.shippingItem.index}--> 
    71182                <div> 
     
    77188                        ご指定頂けません。 
    78189                    <!--{else}--> 
    79                         <select name="<!--{$key}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->"> 
     190                        <select name="<!--{$key}-->" id="<!--{$key}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->"> 
    80191                            <option value="" selected="">指定なし</option> 
    81192                            <!--{html_options options=$arrDelivDate selected=$arrForm[$key].value}--> 
     
    90201                        <!--{html_options options=$arrDelivTime selected=$arrForm[$key].value}--> 
    91202                    </select> 
    92                     <!--{if $isMultiple}--> 
     203                    <!--{if $is_multiple}--> 
    93204                        &nbsp;<!--{$shippingItem.shipping_name01}--><!--{$shippingItem.shipping_name02}--> 
    94205                        &nbsp;<!--{$arrPref[$shippingItem.shipping_pref]}--><!--{$shippingItem.shipping_addr01}--><!--{$shippingItem.shipping_addr02}--> 
  • branches/version-2_5-dev/data/Smarty/templates/mobile/shopping/confirm.tpl

    r19984 r20112  
    9797<!--{/if}--> 
    9898 
     99【配送方法】<br> 
     100<!--{$arrDeliv[$arrData.deliv_id]|h}--><br> 
     101 
     102<br> 
     103 
    99104【お支払い方法】<br> 
    100105<!--{$arrData.payment_method|h}--><br> 
  • branches/version-2_5-dev/data/Smarty/templates/mobile/shopping/payment.tpl

    r19984 r20112  
    2525<input type="hidden" name="mode" value="confirm"> 
    2626<input type="hidden" name="uniqid" value="<!--{$tpl_uniqid}-->"> 
     27<!--{assign var=key value="deliv_id"}--> 
     28<input type="hidden" name="<!--{$key}-->" value="<!--{$arrForm[$key].value}-->"> 
    2729■お支払方法 <font color="#FF0000">*</font><br> 
    2830<!--{assign var=key value="payment_id"}--> 
     
    3941<!--{if $cartKey != $smarty.const.PRODUCT_TYPE_DOWNLOAD}--> 
    4042■お届け時間の指定<br> 
    41 <!--{foreach item=shippingItem name=shippingItem from=$shipping}--> 
     43<!--{foreach item=shippingItem name=shippingItem from=$arrShipping}--> 
    4244<!--{assign var=index value=$smarty.foreach.shippingItem.index}--> 
    4345<!--★お届け日★--> 
     
    6365</select> 
    6466<br> 
    65 <!--{if $isMultiple}--> 
     67<!--{if $is_multiple}--> 
    6668    &nbsp;<!--{$shippingItem.shipping_name01}--><!--{$shippingItem.shipping_name02}--> 
    6769    &nbsp;<!--{$arrPref[$shippingItem.shipping_pref]}--><!--{$shippingItem.shipping_addr01}--><!--{$shippingItem.shipping_addr02}--> 
  • branches/version-2_5-dev/data/Smarty/templates/sphone/shopping/confirm.tpl

    r20014 r20112  
    232232            <!--お届け先ここまで--> 
    233233 
    234             <table summary="お支払方法・お届け日時の指定・その他お問い合わせ" class="delivname"> 
     234            <table summary="配送方法・お支払方法・お届け日時の指定・その他お問い合わせ" class="delivname"> 
    235235                <thead> 
    236236                <tr> 
    237                     <th colspan="2">▼お支払方法・お届け日時の指定・その他お問い合わせ</th> 
     237                    <th colspan="2">▼配送方法・お支払方法・お届け日時の指定・その他お問い合わせ</th> 
    238238                </tr> 
    239239                </thead> 
    240240                <tbody> 
    241241                <tr> 
     242                    <th>配送方法</th> 
     243                    <td><!--{$arrDeliv[$arrData.deliv_id]|h}--></td> 
     244                </tr> 
     245                <tr> 
    242246                    <th>お支払方法</th> 
    243247                    <td><!--{$arrData.payment_method|h}--></td> 
    244248                </tr> 
    245                 <!--{* 販売方法判定(ダウンロード販売のみの場合はお届け日、時間を表示しない) *}--> 
    246                 <!--{if $cartdown != "2"}--> 
    247                 <tr> 
    248                     <th>お届け日</th> 
    249                     <td><!--{$arrData.deliv_date|default:"指定なし"|h}--></td> 
    250                 </tr> 
    251                 <tr> 
    252                     <th>お届け時間</th> 
    253                     <td><!--{$arrData.deliv_time|default:"指定なし"|h}--></td> 
    254                 </tr> 
    255                 <!--{/if}--> 
    256249                <tr> 
    257250                    <th>その他お問い合わせ</th> 
  • branches/version-2_5-dev/data/Smarty/templates/sphone/shopping/payment.tpl

    r20068 r20112  
    2121 *}--> 
    2222<!--▼CONTENTS--> 
     23<script type="text/javascript">//<![CDATA[ 
     24    $(function() { 
     25        $('input[id^=deliv_]').click(function() { 
     26            var data = {}; 
     27            data.mode = 'select_deliv'; 
     28            data.deliv_id = $(this).val(); 
     29            $.ajax({ 
     30                type : 'POST', 
     31                url : location.pathname, 
     32                data: data, 
     33                cache : false, 
     34                dataType : 'json', 
     35                error : remoteException, 
     36                success : function(data, dataType) { 
     37                    if (data.error) { 
     38                        remoteException(); 
     39                    } else { 
     40                        // 支払い方法の行を生成 
     41                        var payment_tbody = $('#payment tbody'); 
     42                        payment_tbody.empty(); 
     43                        for (var i in data.arrPayment) { 
     44                            // ラジオボタン 
     45                            var radio = $('<input type="radio" />') 
     46                                .attr('name', 'payment_id') 
     47                                .attr('id', 'pay_' + i) 
     48                                .val(data.arrPayment[i].payment_id); 
     49                            // ラベル 
     50                            var label = $('<label />') 
     51                                .attr('for', 'pay_' + i) 
     52                                .text(data.arrPayment[i].payment_method); 
     53                            // 行 
     54                            var tr = $('<tr />') 
     55                                .append($('<td />') 
     56                                        .addClass('centertd') 
     57                                        .append(radio)) 
     58                                .append($('<td />').append(label)); 
     59 
     60                            // 支払方法の画像が登録されている場合は表示 
     61                            if (data.img_show) { 
     62                                var payment_image = data.arrPayment[i].payment_image; 
     63                                $('th#payment_method').attr('colspan', 3); 
     64                                if (payment_image) { 
     65                                    var img = $('<img />').attr('src', '<!--{$smarty.const.IMAGE_SAVE_URLPATH}-->' + payment_image); 
     66                                    tr.append($('<td />').append(img)); 
     67                                } else { 
     68                                    tr.append($('<td />')); 
     69                                } 
     70                            } else { 
     71                                $('th#payment_method').attr('colspan', 2); 
     72                            } 
     73 
     74                            tr.appendTo(payment_tbody); 
     75                        } 
     76                        // お届け時間を生成 
     77                        var deliv_time_id_select = $('select[id^=deliv_time_id]'); 
     78                        deliv_time_id_select.empty(); 
     79                        deliv_time_id_select.append($('<option />').text('指定なし').val('')); 
     80                        for (var i in data.arrDelivTime) { 
     81                            var option = $('<option />') 
     82                                .val(i) 
     83                                .text(data.arrDelivTime[i]) 
     84                                .appendTo(deliv_time_id_select); 
     85                        } 
     86                    } 
     87                } 
     88            }); 
     89        }); 
     90 
     91        /** 
     92         * 通信エラー表示. 
     93         */ 
     94        function remoteException(XMLHttpRequest, textStatus, errorThrown) { 
     95            alert('通信中にエラーが発生しました。カート画面に移動します。'); 
     96            location.href = '<!--{$smarty.const.CART_URLPATH}-->'; 
     97        } 
     98    }); 
     99//]]> 
     100</script> 
    23101<div id="under02column"> 
    24102    <div id="under02column_shopping"> 
     
    28106            <input type="hidden" name="mode" value="confirm" /> 
    29107            <input type="hidden" name="uniqid" value="<!--{$tpl_uniqid}-->" /> 
     108            <!--{assign var=key value="deliv_id"}--> 
     109            <!--{if $is_single_deliv}--> 
     110                <input type="hidden" name="<!--{$key}-->" value="<!--{$arrForm[$key].value}-->" /> 
     111            <!--{else}--> 
     112            <div class="payarea"> 
     113                <h3>配送方法の指定</h3> 
     114                <p>配送方法をご選択ください。</p> 
     115 
     116                <!--{if $arrErr[$key] != ""}--> 
     117                <p class="attention"><!--{$arrErr[$key]}--></p> 
     118                <!--{/if}--> 
     119                <table summary="配送方法選択"> 
     120                    <tr> 
     121                        <th>選択</th> 
     122                        <th colspan="2">配送方法</th> 
     123                    </tr> 
     124                    <!--{section name=cnt loop=$arrDeliv}--> 
     125                    <tr> 
     126                        <td class="centertd"><input type="radio" id="deliv_<!--{$smarty.section.cnt.iteration}-->" name="<!--{$key}-->"  value="<!--{$arrDeliv[cnt].deliv_id}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" <!--{$arrDeliv[cnt].deliv_id|sfGetChecked:$arrForm[$key].value}--> /> 
     127                        </td> 
     128                        <td> 
     129                            <label for="deliv_<!--{$smarty.section.cnt.iteration}-->"><!--{$arrDeliv[cnt].name|h}--><!--{if $arrDeliv[cnt].remark != ""}--><p><!--{$arrDeliv[cnt].remark|h}--></p><!--{/if}--></label> 
     130                        </td> 
     131                    </tr> 
     132                    <!--{/section}--> 
     133                </table> 
     134            </div> 
     135            <!--{/if}--> 
     136 
    30137            <div class="payarea"> 
    31138                <h3>お支払方法の指定</h3> 
     
    36143                <p class="attention"><!--{$arrErr[$key]}--></p> 
    37144                <!--{/if}--> 
    38                 <table summary="お支払方法選択"> 
     145                <table summary="お支払方法選択" id="payment"> 
     146                  <thead> 
    39147                    <tr> 
    40148                        <th>選択</th> 
    41                         <th colspan="<!--{if !$img_show}-->2<!--{else}-->3<!--{/if}-->">お支払方法</th> 
    42                     </tr> 
     149                        <th colspan="<!--{if !$img_show}-->2<!--{else}-->3<!--{/if}-->" id="payment_method">お支払方法</th> 
     150                    </tr> 
     151                  </thead> 
     152                  <tbody> 
    43153                    <!--{section name=cnt loop=$arrPayment}--> 
    44154                    <tr> 
     
    57167                    </tr> 
    58168                    <!--{/section}--> 
     169                  </tbody> 
    59170                </table> 
    60171            </div> 
     
    64175                <h3>お届け時間の指定</h3> 
    65176                <p>ご希望の方は、お届け時間を選択してください。</p> 
    66                 <!--{foreach item=shippingItem name=shippingItem from=$shipping}--> 
     177                <!--{foreach item=shippingItem name=shippingItem from=$arrShipping}--> 
    67178                <!--{assign var=index value=$smarty.foreach.shippingItem.index}--> 
    68                 <!--{if $isMultiple}--> 
     179                <!--{if $is_multiple}--> 
    69180                <div> 
    70181                        &nbsp;<!--{$shippingItem.shipping_name01}--><!--{$shippingItem.shipping_name02}--><br /> 
  • branches/version-2_5-dev/data/class/SC_CartSession.php

    r20038 r20112  
    433433     * エラーメッセージを返す. 
    434434     * 
    435      * 1. 削除/非表示商品のチェック 
    436      * 2. 商品購入制限数のチェック 
    437      * 3. 在庫数チェック 
     435     * 1. 商品種別に関連づけられた配送業者の存在チェック 
     436     * 2. 削除/非表示商品のチェック 
     437     * 3. 商品購入制限数のチェック 
     438     * 4. 在庫数チェック 
    438439     * 
    439440     * @param string $key 商品種別ID 
     
    449450            $item =& $items[$key]; 
    450451            $product =& $item['productsClass']; 
     452 
     453            /* 
     454             * 配送業者のチェック 
     455             */ 
     456            $arrDeliv = SC_Helper_Purchase_Ex::getDeliv($productTypeId); 
     457            if (SC_Utils_Ex::isBlank($arrDeliv)) { 
     458                $tpl_message .= "※「" . $product['name'] . "」はまだ配送の準備ができておりません。恐れ入りますがお問い合わせページよりお問い合わせください。\n"; 
     459            } 
     460 
    451461            /* 
    452462             * 表示/非表示商品のチェック 
  • branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php

    r20111 r20112  
    461461 
    462462    /** 
    463      * 商品種別ID からお届け時間の配列を取得する. 
    464      */ 
    465     function getDelivTime($productTypeId) { 
    466         $objQuery =& SC_Query::getSingletonInstance(); 
    467         $from = <<< __EOS__ 
    468                  dtb_deliv T1 
    469             JOIN dtb_delivtime T2 
    470               ON T1.deliv_id = T2. deliv_id 
    471 __EOS__; 
    472             $objQuery->setOrder("time_id"); 
    473             $results = $objQuery->select("time_id, deliv_time", $from, 
    474                                          "product_type_id = ?", array($productTypeId)); 
    475             $arrDelivTime = array(); 
    476             foreach ($results as $val) { 
    477                 $arrDelivTime[$val['time_id']] = $val['deliv_time']; 
    478             } 
    479             return $arrDelivTime; 
     463     * 配送業者IDからお届け時間の配列を取得する. 
     464     * 
     465     * @param integer $deliv_id 配送業者ID 
     466     * @return array お届け時間の配列 
     467     */ 
     468    function getDelivTime($deliv_id) { 
     469        $objQuery =& SC_Query::getSingletonInstance(); 
     470        $objQuery->setOrder('time_id'); 
     471        $results = $objQuery->select('time_id, deliv_time', 
     472                                     'dtb_delivtime', 
     473                                     'deliv_id = ?', array($deliv_id)); 
     474        $arrDelivTime = array(); 
     475        foreach ($results as $val) { 
     476            $arrDelivTime[$val['time_id']] = $val['deliv_time']; 
     477        } 
     478        return $arrDelivTime; 
    480479    } 
    481480 
    482481    /** 
    483482     * 商品種別ID から配送業者を取得する. 
    484      */ 
    485     function getDeliv($productTypeId) { 
    486         $objQuery =& SC_Query::getSingletonInstance(); 
    487         return $objQuery->select("*", "dtb_deliv", "product_type_id = ?", 
    488                                  array($productTypeId)); 
    489     } 
    490  
    491     /** 
    492      * 配送業者ID から, 有効な支払方法を取得する. 
     483     * 
     484     * @param integer $product_type_id 商品種別ID 
     485     * @return array 配送業者の配列 
     486     */ 
     487    function getDeliv($product_type_id) { 
     488        $objQuery =& SC_Query::getSingletonInstance(); 
     489        $objQuery->setOrder('rank'); 
     490        return $objQuery->select('*', 'dtb_deliv', 'product_type_id = ?', 
     491                                 array($product_type_id)); 
     492    } 
     493 
     494    /** 
     495     * 配送業者ID から, 有効な支払方法IDを取得する. 
    493496     * 
    494497     * @param integer $deliv_id 配送業者ID 
     
    497500    function getPayments($deliv_id) { 
    498501        $objQuery =& SC_Query::getSingletonInstance(); 
    499         $from = <<< __EOS__ 
    500                       dtb_deliv T1 
    501             LEFT JOIN dtb_payment_options T2 
    502                    ON T1.deliv_id = T2.deliv_id 
    503 __EOS__; 
    504         $objQuery->setOrder('T2.rank'); 
    505         return $objQuery->getCol('payment_id', $from, 'T1.deliv_id = ?', 
     502        $objQuery->setOrder('rank'); 
     503        return $objQuery->getCol('payment_id', 'dtb_payment_options', 
     504                                 'deliv_id = ?', 
    506505                                 array($deliv_id), MDB2_FETCHMODE_ORDERED); 
    507506    } 
  • branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Confirm.php

    r20041 r20112  
    5050        $this->arrMAILMAGATYPE = $masterData->getMasterData("mtb_mail_magazine_type"); 
    5151        $this->arrReminder = $masterData->getMasterData("mtb_reminder"); 
     52        $this->arrDeliv = SC_Helper_DB_Ex::sfGetIDValueList("dtb_deliv", "deliv_id", "service_name"); 
    5253        $this->httpCacheControl('nocache'); 
    5354    } 
     
    9495        $this->tpl_message = $objCartSess->checkProducts($this->cartKey); 
    9596        if (strlen($this->tpl_message) >= 1) { 
    96             SC_Utils_Ex::sfDispSiteError(SOLD_OUT, '', true); 
     97            SC_Response_Ex::sendRedirect(CART_URLPATH); 
     98            exit; 
    9799        } 
    98100 
  • branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php

    r20069 r20112  
    7979        $objPurchase = new SC_Helper_Purchase_Ex(); 
    8080        $this->objCustomer = new SC_Customer(); 
    81  
    82         $this->shipping =& $objPurchase->getShippingTemp(); 
    83         $this->isMultiple = $objPurchase->isMultiple(); 
    84  
    85         // パラメータ管理クラス 
    8681        $this->objFormParam = new SC_FormParam(); 
    87         // パラメータ情報の初期化 
    88         $this->lfInitParam(); 
    89         // POST値の取得 
    90         $this->objFormParam->setParam($_POST); 
    91  
    92         $uniqid = $objSiteSess->getUniqId(); 
    93         $objPurchase->verifyChangeCart($uniqid, $objCartSess); 
    94  
    95         // ユニークIDを引き継ぐ 
    96         $this->tpl_uniqid = $uniqid; 
     82 
     83        $this->arrShipping =& $objPurchase->getShippingTemp(); 
     84        $this->is_multiple = $objPurchase->isMultiple(); 
     85        $this->tpl_uniqid = $objSiteSess->getUniqId(); 
     86        $objPurchase->verifyChangeCart($this->tpl_uniqid, $objCartSess); 
    9787 
    9888        $this->cartKey = $objCartSess->getKey(); 
    9989 
    100         // 配送時間を取得 
    101         $this->arrDelivTime = $objPurchase->getDelivTime($this->cartKey); 
     90        // 配送業者を取得 
     91        $this->arrDeliv = $objPurchase->getDeliv($this->cartKey); 
     92        if (count($this->arrDeliv) == 1) { 
     93            $this->is_single_deliv = true; 
     94            $deliv_id = $this->arrDeliv[0]['deliv_id']; 
     95        } else { 
     96            $this->is_single_deliv = false; 
     97        } 
    10298 
    10399        // 会員ログインチェック 
     
    117113 
    118114        // 一時受注テーブルの読込 
    119         $arrOrderTemp = $objPurchase->getOrderTemp($uniqid); 
     115        $arrOrderTemp = $objPurchase->getOrderTemp($this->tpl_uniqid); 
    120116        //不正遷移チェック(正常に受注情報が格納されていない場合は一旦カート画面まで戻す) 
    121117        if (!$arrOrderTemp) { 
     
    129125 
    130126        if (strlen($this->tpl_message) >= 1) { 
    131             SC_Utils_Ex::sfDispSiteError(SOLD_OUT, '', true); 
     127            SC_Response_Ex::sendRedirect(CART_URLPATH); 
     128            exit; 
    132129        } 
    133130        // FIXME 使用ポイント, 手数料の扱い 
     
    137134        $total_inctax = $objCartSess->getAllProductsTotal($this->cartKey); 
    138135 
    139         // FIXME 支払い方法の取得 
    140         $arrDeliv = $objPurchase->getDeliv($this->cartKey); 
    141         $this->arrPayment = $objPurchase->getPaymentsByPrice($total_inctax, $arrDeliv[0]['deliv_id']); 
     136        // お届け日一覧の取得 
     137        $this->arrDelivDate = $objPurchase->getDelivDate($objCartSess, $this->cartKey); 
    142138 
    143139        switch($this->getMode()) { 
     140        case 'select_deliv': 
     141            $this->objFormParam->convParam(); 
     142            $this->lfInitParam(true); 
     143            $this->objFormParam->setParam($_POST); 
     144            $arrErr = $this->objFormParam->checkError(); 
     145            if (SC_Utils_Ex::isBlank($arrErr)) { 
     146                $deliv_id = $this->objFormParam->getValue('deliv_id'); 
     147                $this->arrPayment = $objPurchase->getPaymentsByPrice($total_inctax, $deliv_id); 
     148                $this->img_show = $this->lfGetImgShow($this->arrPayment); 
     149                // 配送時間を取得 
     150                $this->arrDelivTime = $objPurchase->getDelivTime($deliv_id); 
     151                $arrSelectDeliv = array('error' => false, 
     152                                        'arrPayment' => $this->arrPayment, 
     153                                        'arrDelivTime' => $this->arrDelivTime, 
     154                                        'img_show' => $this->img_show); 
     155            } else { 
     156                $arrSelectDeliv = array('error' => true); 
     157            } 
     158 
     159            if (SC_Display::detectDevice() != DEVICE_TYPE_MOBILE) { 
     160                $objJson = new Services_JSON(); 
     161                echo $objJson->encode($arrSelectDeliv); 
     162                exit; 
     163            } 
     164            break; 
     165 
    144166        case 'confirm': 
     167            // パラメータ情報の初期化 
     168            $this->lfInitParam(); 
     169            // POST値の取得 
     170            $this->objFormParam->setParam($_POST); 
    145171            // 入力値の変換 
    146172            $this->objFormParam->convParam(); 
     173            $deliv_id = $this->objFormParam->getValue('deliv_id'); 
     174            $this->arrPayment = $objPurchase->getPaymentsByPrice($total_inctax, $deliv_id); 
     175            $this->arrDelivTime = $objPurchase->getDelivTime($deliv_id); 
    147176            $this->arrErr = $this->lfCheckError($this->arrData, $this->arrPayment); 
    148177            // 入力エラーなし 
     
    151180                foreach (array_keys($_SESSION['shipping']) as $key) { 
    152181                    $timeId = $this->objFormParam->getValue('deliv_time_id' . $key); 
     182 
    153183                    /* TODO 
    154184                     * SC_Purchase::getShippingTemp() で取得して, 
    155185                     * リファレンスで代入すると, セッションに添字を追加できない? 
    156186                     */ 
     187                    $_SESSION['shipping'][$key]['deliv_id'] = $deliv_id; 
    157188                    $_SESSION['shipping'][$key]['time_id'] = $timeId; 
    158189                    $_SESSION['shipping'][$key]['shipping_time'] = $this->arrDelivTime[$timeId]; 
    159190                    $_SESSION['shipping'][$key]['shipping_date'] = $this->objFormParam->getValue('deliv_date' . $key); 
    160191                } 
    161                 $this->lfRegistData($uniqid, $objPurchase); 
     192                $this->lfRegistData($this->tpl_uniqid, $objPurchase); 
    162193 
    163194                // 正常に登録されたことを記録しておく 
     
    167198                exit; 
    168199            }else{ 
    169                 // ユーザユニークIDの取得 
    170                 $uniqid = $objSiteSess->getUniqId(); 
    171200                // 受注一時テーブルからの情報を格納 
    172                 $this->objFormParam->setParam($objPurchase->getOrderTemp($uniqid)); 
     201                $this->img_show = $this->lfGetImgShow($this->arrPayment); 
     202                $this->objFormParam->setParam($objPurchase->getOrderTemp($this->tpl_uniqid)); 
    173203            } 
    174204            break; 
    175205        // 前のページに戻る 
    176206        case 'return': 
    177             // 非会員の場合 
     207 
    178208            // 正常な推移であることを記録しておく 
    179209            $objSiteSess->setRegistFlag(); 
     
    183213 
    184214        default: 
    185             // 受注一時テーブルからの情報を格納 
     215 
     216            // 前のページから戻ってきた場合の初期値を設定 
     217            $this->lfInitParam(); 
    186218            $this->objFormParam->setParam($arrOrderTemp); 
     219            $this->objFormParam->convParam(); 
     220 
     221            if (!$this->is_single_deliv) { 
     222                $deliv_id = $this->objFormParam->getValue('deliv_id'); 
     223            } 
     224 
     225            if (!SC_Utils_Ex::isBlank($deliv_id)) { 
     226                $this->objFormParam->setValue('deliv_id', $deliv_id); 
     227                $this->arrPayment = $objPurchase->getPaymentsByPrice($total_inctax, $deliv_id); 
     228                // XXX セッションからデフォルト値を取得する必要あり 
     229                $this->arrDelivTime = $objPurchase->getDelivTime($deliv_id); 
     230                $this->img_show = $this->lfGetImgShow($this->arrPayment); 
     231            } 
    187232            break; 
    188233        } 
    189234 
    190         // 支払い方法の画像があるなしを取得($img_show true:ある false:なし) 
    191         $this->img_show = $this->lfGetImgShow($this->arrPayment); 
    192         // お届け日一覧の取得 
    193         $this->arrDelivDate = $objPurchase->getDelivDate($objCartSess, $this->cartKey); 
     235        // モバイル用 ポストバック処理 
     236        if (SC_Display::detectDevice() == DEVICE_TYPE_MOBILE) { 
     237            switch($this->getMode()) { 
     238            case 'select_deliv': 
     239                $this->tpl_mainpage = 'shopping/payment.tpl'; 
     240                break; 
     241 
     242            case 'confirm': 
     243            case 'return': 
     244            default: 
     245                if ($this->is_single_deliv) { 
     246                    $this->tpl_mainpage = 'shopping/payment.tpl'; 
     247                } else { 
     248                    $this->tpl_mainpage = 'shopping/select_deliv.tpl'; 
     249                } 
     250            } 
     251        } 
     252 
    194253        $this->arrForm = $this->objFormParam->getFormParamList(); 
    195254    } 
     
    205264 
    206265    /* パラメータ情報の初期化 */ 
    207     function lfInitParam() { 
    208         $this->objFormParam->addParam("お支払い方法", "payment_id", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 
    209         $this->objFormParam->addParam("ポイント", "use_point", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK", "ZERO_START")); 
    210         $this->objFormParam->addParam("その他お問い合わせ", "message", LTEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    211         $this->objFormParam->addParam("ポイントを使用する", "point_check", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), '2'); 
    212  
    213         for ($i = 0; $i < count($this->shipping); $i++) { 
    214             $this->objFormParam->addParam("お届け時間", "deliv_time_id" . $i, INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    215             $this->objFormParam->addParam("お届け日", "deliv_date" . $i, STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); 
     266    function lfInitParam($deliv_only = false) { 
     267        $this->objFormParam->addParam("配送業者", "deliv_id", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 
     268 
     269        if (!$deliv_only) { 
     270            $this->objFormParam->addParam("お支払い方法", "payment_id", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 
     271            $this->objFormParam->addParam("ポイント", "use_point", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK", "ZERO_START")); 
     272            $this->objFormParam->addParam("その他お問い合わせ", "message", LTEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     273            $this->objFormParam->addParam("ポイントを使用する", "point_check", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), '2'); 
     274 
     275            for ($i = 0; $i < count($this->shipping); $i++) { 
     276                $this->objFormParam->addParam("お届け時間", "deliv_time_id" . $i, INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
     277                $this->objFormParam->addParam("お届け日", "deliv_date" . $i, STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); 
     278            } 
    216279        } 
    217280    } 
Note: See TracChangeset for help on using the changeset viewer.