source: branches/version-2_5-dev/data/Smarty/templates/default/shopping/payment.tpl @ 20114

Revision 20114, 14.8 KB checked in by nanasess, 11 years ago (diff)

#984([フロント]商品購入 リファクタリング)

  • /shopping/payment.php
  • Property svn:eol-style set to LF
  • Property svn:mime-type set to text/x-smarty-template; charset=UTF-8
Line 
1<!--{*
2 * This file is part of EC-CUBE
3 *
4 * Copyright(c) 2000-2010 LOCKON CO.,LTD. All Rights Reserved.
5 *
6 * http://www.lockon.co.jp/
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * as published by the Free Software Foundation; either version 2
11 * of the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
21 *}-->
22<!--▼CONTENTS-->
23<script type="text/javascript">//<![CDATA[
24    $(function() {
25        if ($('input[name=deliv_id]:checked').val()
26            || $('#deliv_id').val()) {
27            showForm(true);
28        } else {
29            showForm(false);
30        }
31        $('input[id^=deliv_]').click(function() {
32            showForm(true);
33            var data = {};
34            data.mode = 'select_deliv';
35            data.deliv_id = $(this).val();
36            $.ajax({
37                type : 'POST',
38                url : location.pathname,
39                data: data,
40                cache : false,
41                dataType : 'json',
42                error : remoteException,
43                success : function(data, dataType) {
44                    if (data.error) {
45                        remoteException();
46                    } else {
47                        // 支払い方法の行を生成
48                        var payment_tbody = $('#payment tbody');
49                        payment_tbody.empty();
50                        for (var i in data.arrPayment) {
51                            // ラジオボタン
52                            var radio = $('<input type="radio" />')
53                                .attr('name', 'payment_id')
54                                .attr('id', 'pay_' + i)
55                                .val(data.arrPayment[i].payment_id);
56                            // ラベル
57                            var label = $('<label />')
58                                .attr('for', 'pay_' + i)
59                                .text(data.arrPayment[i].payment_method);
60                            // 行
61                            var tr = $('<tr />')
62                                .append($('<td />')
63                                        .addClass('centertd')
64                                        .append(radio))
65                                .append($('<td />').append(label));
66
67                            // 支払方法の画像が登録されている場合は表示
68                            if (data.img_show) {
69                                var payment_image = data.arrPayment[i].payment_image;
70                                $('th#payment_method').attr('colspan', 3);
71                                if (payment_image) {
72                                    var img = $('<img />').attr('src', '<!--{$smarty.const.IMAGE_SAVE_URLPATH}-->' + payment_image);
73                                    tr.append($('<td />').append(img));
74                                } else {
75                                    tr.append($('<td />'));
76                                }
77                            } else {
78                                $('th#payment_method').attr('colspan', 2);
79                            }
80
81                            tr.appendTo(payment_tbody);
82                        }
83                        // お届け時間を生成
84                        var deliv_time_id_select = $('select[id^=deliv_time_id]');
85                        deliv_time_id_select.empty();
86                        deliv_time_id_select.append($('<option />').text('指定なし').val(''));
87                        for (var i in data.arrDelivTime) {
88                            var option = $('<option />')
89                                .val(i)
90                                .text(data.arrDelivTime[i])
91                                .appendTo(deliv_time_id_select);
92                        }
93                    }
94                }
95            });
96        });
97
98        /**
99         * 通信エラー表示.
100         */
101        function remoteException(XMLHttpRequest, textStatus, errorThrown) {
102            alert('通信中にエラーが発生しました。カート画面に移動します。');
103            location.href = '<!--{$smarty.const.CART_URLPATH}-->';
104        }
105
106        /**
107         * 配送方法の選択状態により表示を切り替える
108         */
109        function showForm(show) {
110            if (show) {
111                $('#payment, div.delivdate, .select-msg').show();
112                $('.non-select-msg').hide();
113            } else {
114                $('#payment, div.delivdate, .select-msg').hide();
115                $('.non-select-msg').show();
116            }
117        }
118    });
119//]]>
120</script>
121<div id="under02column">
122    <div id="under02column_shopping">
123        <p class="flowarea">
124            <img src="<!--{$TPL_URLPATH}-->img/picture/img_flow_02.gif" width="700" height="36" alt="購入手続きの流れ" />
125        </p>
126        <h2 class="title"><!--{$tpl_title|h}--></h2>
127
128        <form name="form1" id="form1" method="post" action="?">
129            <input type="hidden" name="mode" value="confirm" />
130            <input type="hidden" name="uniqid" value="<!--{$tpl_uniqid}-->" />
131
132            <!--{assign var=key value="deliv_id"}-->
133            <!--{if $is_single_deliv}-->
134                <input type="hidden" name="<!--{$key}-->" value="<!--{$arrForm[$key].value}-->" id="deliv_id" />
135            <!--{else}-->
136            <div class="payarea">
137                <h3>配送方法の指定</h3>
138                <p>配送方法をご選択ください。</p>
139
140                <!--{if $arrErr[$key] != ""}-->
141                <p class="attention"><!--{$arrErr[$key]}--></p>
142                <!--{/if}-->
143                <table summary="配送方法選択">
144                    <tr>
145                        <th>選択</th>
146                        <th colspan="2">配送方法</th>
147                    </tr>
148                    <!--{section name=cnt loop=$arrDeliv}-->
149                    <tr>
150                        <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}--> />
151                        </td>
152                        <td>
153                            <label for="deliv_<!--{$smarty.section.cnt.iteration}-->"><!--{$arrDeliv[cnt].name|h}--><!--{if $arrDeliv[cnt].remark != ""}--><p><!--{$arrDeliv[cnt].remark|h}--></p><!--{/if}--></label>
154                        </td>
155                    </tr>
156                    <!--{/section}-->
157                </table>
158            </div>
159            <!--{/if}-->
160
161            <div class="payarea">
162                <h3>お支払方法の指定</h3>
163                <p class="select-msg">お支払方法をご選択ください。</p>
164                <p class="non-select-msg">まずはじめに、配送方法を選択ください。</p>
165
166                <!--{assign var=key value="payment_id"}-->
167                <!--{if $arrErr[$key] != ""}-->
168                <p class="attention"><!--{$arrErr[$key]}--></p>
169                <!--{/if}-->
170                <table summary="お支払方法選択" id="payment">
171                    <thead>
172                      <tr>
173                        <th>選択</th>
174                        <th colspan="<!--{if !$img_show}-->2<!--{else}-->3<!--{/if}-->" id="payment_method">お支払方法</th>
175                      </tr>
176                    </thead>
177                    <tbody>
178                      <!--{section name=cnt loop=$arrPayment}-->
179                      <tr>
180                        <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>
181                        <td>
182                          <label for="pay_<!--{$smarty.section.cnt.iteration}-->"><!--{$arrPayment[cnt].payment_method|h}--><!--{if $arrPayment[cnt].note != ""}--><!--{/if}--></label>
183                        </td>
184                        <!--{if $img_show}-->
185                            <td>
186                                <!--{if $arrPayment[cnt].payment_image != ""}-->
187                                    <img src="<!--{$smarty.const.IMAGE_SAVE_URLPATH}--><!--{$arrPayment[cnt].payment_image}-->" />
188                                <!--{/if}-->
189                            </td>
190                        <!--{/if}-->
191                      </tr>
192                    <!--{/section}-->
193                  </tbody>
194                </table>
195            </div>
196
197            <!--{if $cartKey != $smarty.const.PRODUCT_TYPE_DOWNLOAD}-->
198            <div class="payarea02">
199                <h3>お届け時間の指定</h3>
200                <p class="select-msg">ご希望の方は、お届け時間を選択してください。</p>
201                <p class="non-select-msg">まずはじめに、配送方法を選択ください。</p>
202                <!--{foreach item=shippingItem name=shippingItem from=$arrShipping}-->
203                <!--{assign var=index value=$smarty.foreach.shippingItem.index}-->
204                <div class="delivdate">
205                    <!--★お届け日★-->
206                    <!--{assign var=key value="deliv_date`$index`"}-->
207                    <span class="attention"><!--{$arrErr[$key]}--></span>
208                    <em>お届け日:</em>
209                    <!--{if !$arrDelivDate}-->
210                        ご指定頂けません。
211                    <!--{else}-->
212                        <select name="<!--{$key}-->" id="<!--{$key}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->">
213                            <option value="" selected="">指定なし</option>
214                            <!--{html_options options=$arrDelivDate selected=$arrForm[$key].value}-->
215                        </select>
216                    <!--{/if}-->
217                    <!--★お届け時間★-->
218                    <!--{assign var=key value="deliv_time_id`$index`"}-->
219                    <span class="attention"><!--{$arrErr[$key]}--></span>
220                    <em>お届け時間:</em>
221                    <select name="<!--{$key}-->" id="<!--{$key}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->">
222                        <option value="" selected="">指定なし</option>
223                        <!--{html_options options=$arrDelivTime selected=$arrForm[$key].value}-->
224                    </select>
225                    <!--{if $is_multiple}-->
226                        &nbsp;<!--{$shippingItem.shipping_name01}--><!--{$shippingItem.shipping_name02}-->
227                        &nbsp;<!--{$arrPref[$shippingItem.shipping_pref]}--><!--{$shippingItem.shipping_addr01}--><!--{$shippingItem.shipping_addr02}-->
228                    <!--{/if}-->
229                 </div>
230                 <!--{/foreach}-->
231            </div>
232            <!--{/if}-->
233
234            <div class="payarea02">
235                <h3>その他お問い合わせ</h3>
236                <p>その他お問い合わせ事項がございましたら、こちらにご入力ください。</p>
237                <div>
238                    <!--★その他お問い合わせ事項★-->
239                    <!--{assign var=key value="message"}-->
240                    <span class="attention"><!--{$arrErr[$key]}--></span>
241                    <textarea name="<!--{$key}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" cols="80" rows="8" class="area660" wrap="hard"><!--{$arrForm[$key].value|h}--></textarea>
242                    <span class="attention"> (<!--{$smarty.const.LTEXT_LEN}-->文字まで)</span>
243                </div>
244            </div>
245
246            <!-- ▼ポイント使用 ここから -->
247            <!--{if $tpl_login == 1 && $smarty.const.USE_POINT !== false}-->
248                <div class="pointarea">
249                    <h3>ポイント使用の指定</h3>
250
251                        <p><span class="attention">1ポイントを1円</span>として使用する事ができます。<br />
252                            使用する場合は、「ポイントを使用する」にチェックを入れた後、使用するポイントをご記入ください。</p>
253                    <div>
254                        <p><!--{$name01|h}--> <!--{$name02|h}-->様の、現在の所持ポイントは「<em><!--{$tpl_user_point|default:0}-->Pt</em>」です。</p>
255                        <p>今回ご購入合計金額:<span class="price"><!--{$arrPrices.subtotal|number_format}-->円</span> <span class="attention">(送料、手数料を含みません。)</span></p>
256                        <ul>
257                            <li><input type="radio" id="point_on" name="point_check" value="1" <!--{$arrForm.point_check.value|sfGetChecked:1}--> onclick="fnCheckInputPoint();" /><label for="point_on">ポイントを使用する</label></li>
258                             <!--{assign var=key value="use_point"}-->
259
260                             <li class="underline">今回のお買い物で、<input type="text" name="<!--{$key}-->" value="<!--{$arrForm[$key].value|default:$tpl_user_point}-->" maxlength="<!--{$arrForm[$key].length}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" size="6" class="box60" />&nbsp;ポイントを使用する。<span class="attention"><!--{$arrErr[$key]}--></span></li>
261                             <li><input type="radio" id="point_off" name="point_check" value="2" <!--{$arrForm.point_check.value|sfGetChecked:2}--> onclick="fnCheckInputPoint();" /><label for="point_off">ポイントを使用しない</label></li>
262                        </ul>
263                    </div>
264                </div>
265            <!--{/if}-->
266            <!-- ▲ポイント使用 ここまで -->
267
268            <div class="tblareabtn">
269                <a href="<!--{$tpl_back_url|h}-->" onmouseover="chgImg('<!--{$TPL_URLPATH}-->img/button/btn_back_on.gif','back03')" onmouseout="chgImg('<!--{$TPL_URLPATH}-->img/button/btn_back.gif','back03')">
270                    <img src="<!--{$TPL_URLPATH}-->img/button/btn_back.gif" width="150" height="30" alt="戻る" border="0" name="back03" id="back03" /></a>&nbsp;
271                <input type="image" onmouseover="chgImgImageSubmit('<!--{$TPL_URLPATH}-->img/button/btn_next_on.gif',this)" onmouseout="chgImgImageSubmit('<!--{$TPL_URLPATH}-->img/button/btn_next.gif',this)" src="<!--{$TPL_URLPATH}-->img/button/btn_next.gif" class="box150" alt="次へ" name="next" id="next" />
272            </div>
273        </form>
274    </div>
275</div>
276<!--▲CONTENTS-->
Note: See TracBrowser for help on using the repository browser.