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

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

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

  • /shopping/payment.php
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        <h2 class="title"><!--{$tpl_title|h}--></h2>
124
125        <form name="form1" id="form1" method="post" action="?">
126            <input type="hidden" name="mode" value="confirm" />
127            <input type="hidden" name="uniqid" value="<!--{$tpl_uniqid}-->" />
128            <!--{assign var=key value="deliv_id"}-->
129            <!--{if $is_single_deliv}-->
130                <input type="hidden" name="<!--{$key}-->" value="<!--{$arrForm[$key].value}-->" id="deliv_id" />
131            <!--{else}-->
132            <div class="payarea">
133                <h3>配送方法の指定</h3>
134                <p>配送方法をご選択ください。</p>
135
136                <!--{if $arrErr[$key] != ""}-->
137                <p class="attention"><!--{$arrErr[$key]}--></p>
138                <!--{/if}-->
139                <table summary="配送方法選択">
140                    <tr>
141                        <th>選択</th>
142                        <th colspan="2">配送方法</th>
143                    </tr>
144                    <!--{section name=cnt loop=$arrDeliv}-->
145                    <tr>
146                        <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}--> />
147                        </td>
148                        <td>
149                            <label for="deliv_<!--{$smarty.section.cnt.iteration}-->"><!--{$arrDeliv[cnt].name|h}--><!--{if $arrDeliv[cnt].remark != ""}--><p><!--{$arrDeliv[cnt].remark|h}--></p><!--{/if}--></label>
150                        </td>
151                    </tr>
152                    <!--{/section}-->
153                </table>
154            </div>
155            <!--{/if}-->
156
157            <div class="payarea">
158                <h3>お支払方法の指定</h3>
159                <p class="select-msg">お支払方法をご選択ください。</p>
160                <p class="non-select-msg">まずはじめに、配送方法を選択ください。</p>
161
162                <!--{assign var=key value="payment_id"}-->
163                <!--{if $arrErr[$key] != ""}-->
164                <p class="attention"><!--{$arrErr[$key]}--></p>
165                <!--{/if}-->
166                <table summary="お支払方法選択" id="payment">
167                  <thead>
168                    <tr>
169                        <th>選択</th>
170                        <th colspan="<!--{if !$img_show}-->2<!--{else}-->3<!--{/if}-->" id="payment_method">お支払方法</th>
171                    </tr>
172                  </thead>
173                  <tbody>
174                    <!--{section name=cnt loop=$arrPayment}-->
175                    <tr>
176                        <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}--> />
177                        </td>
178                        <td>
179                            <label for="pay_<!--{$smarty.section.cnt.iteration}-->"><!--{$arrPayment[cnt].payment_method|h}--><!--{if $arrPayment[cnt].note != ""}--><!--{/if}--></label>
180                        </td>
181                        <!--{if $img_show}-->
182                            <td>
183                                <!--{if $arrPayment[cnt].payment_image != ""}-->
184                                    <img src="<!--{$smarty.const.IMAGE_SAVE_URLPATH}--><!--{$arrPayment[cnt].payment_image}-->" />
185                                <!--{/if}-->
186                            </td>
187                        <!--{/if}-->
188                    </tr>
189                    <!--{/section}-->
190                  </tbody>
191                </table>
192            </div>
193
194            <!--{if $cartKey != $smarty.const.PRODUCT_TYPE_DOWNLOAD}-->
195            <div class="payarea02">
196                <h3>お届け時間の指定</h3>
197                <p class="select-msg">ご希望の方は、お届け時間を選択してください。</p>
198                <p class="non-select-msg">まずはじめに、配送方法を選択ください。</p>
199                <!--{foreach item=shippingItem name=shippingItem from=$arrShipping}-->
200                <!--{assign var=index value=$smarty.foreach.shippingItem.index}-->
201                <!--{if $is_multiple}-->
202                <div class="delivdate">
203                        &nbsp;<!--{$shippingItem.shipping_name01}--><!--{$shippingItem.shipping_name02}--><br />
204                        &nbsp;<!--{$arrPref[$shippingItem.shipping_pref]}--><!--{$shippingItem.shipping_addr01}--><!--{$shippingItem.shipping_addr02}-->
205                </div>
206                <!--{/if}-->
207                <div class="delivdate">
208                    <!--★お届け日★-->
209                    <!--{assign var=key value="deliv_date`$index`"}-->
210                    <span class="attention"><!--{$arrErr[$key]}--></span>
211                    <em>お届け日:</em>
212                    <!--{if !$arrDelivDate}-->
213                        ご指定頂けません。
214                    <!--{else}-->
215                        <select name="<!--{$key}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->">
216                            <option value="" selected="">指定なし</option>
217                            <!--{html_options options=$arrDelivDate selected=$arrForm[$key].value}-->
218                        </select>
219                    <!--{/if}-->
220                </div>
221                <div class="delivdate">
222                    <!--★お届け時間★-->
223                    <!--{assign var=key value="deliv_time_id`$index`"}-->
224                    <span class="attention"><!--{$arrErr[$key]}--></span>
225                    <em>お届け時間:</em>
226                    <select name="<!--{$key}-->" id="<!--{$key}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->">
227                        <option value="" selected="">指定なし</option>
228                        <!--{html_options options=$arrDelivTime selected=$arrForm[$key].value}-->
229                    </select>
230                </div>
231                <!--{/foreach}-->
232            </div>
233            <!--{/if}-->
234
235            <div class="payarea02">
236                <h3>その他お問い合わせ</h3>
237                <p>その他お問い合わせ事項がございましたら、こちらにご入力ください。</p>
238                <div>
239                    <!--★その他お問い合わせ事項★-->
240                    <!--{assign var=key value="message"}-->
241                    <span class="attention"><!--{$arrErr[$key]}--></span>
242                    <textarea name="<!--{$key}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" cols="80" rows="8" class="area660" wrap="hard"><!--{$arrForm[$key].value|h}--></textarea>
243                </div>
244                <div>
245                    <span class="attention"> (<!--{$smarty.const.LTEXT_LEN}-->文字まで)</span>
246                </div>
247            </div>
248
249            <!-- ▼ポイント使用 ここから -->
250            <!--{if $tpl_login == 1 && $smarty.const.USE_POINT !== false}-->
251                <div class="pointarea">
252                    <h3>ポイント使用の指定</h3>
253
254                        <p><span class="attention">1ポイントを1円</span>として使用する事ができます。<br />
255                            使用する場合は、「ポイントを使用する」にチェックを入れた後、使用するポイントをご記入ください。</p>
256                    <div>
257                        <p><!--{$name01|h}--> <!--{$name02|h}-->様の、現在の所持ポイントは「<em><!--{$tpl_user_point|default:0}-->Pt</em>」です。</p>
258                        <p>今回ご購入合計金額:<span class="price"><!--{$arrPrices.subtotal|number_format}-->円</span> <span class="attention">(送料、手数料を含みません。)</span></p>
259                        <ul>
260                            <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>
261                             <!--{assign var=key value="use_point"}-->
262
263                             <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>
264                             <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>
265                        </ul>
266                    </div>
267                </div>
268            <!--{/if}-->
269            <!-- ▲ポイント使用 ここまで -->
270
271            <div class="tblareabtn">
272                <a href="<!--{$tpl_back_url|h}-->" class="spbtn spbtn-medeum">
273                    戻る</a>&nbsp;
274                <input type="submit" value="次へ" class="spbtn spbtn-shopping" width="130" height="30" alt="次へ" name="next" id="next" />
275            </div>
276        </form>
277    </div>
278</div>
279<!--▲CONTENTS-->
Note: See TracBrowser for help on using the repository browser.