バージョン選択

フォーラム

メニュー

オンライン状況

24 人のユーザが現在オンラインです。 (17 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 24
もっと...

サイト内検索

質問 > フロント機能 > 2.13系メール便の対応について

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
harusame
投稿日時: 2014/8/9 10:39
対応状況: −−−
半人前
登録日: 2014/7/30
居住地: 奈良
投稿: 27
Re: 2.13系メール便の対応について
投稿が遅くなり申し訳ございません。

修正後、エラーは無くなりました。
ありがとうございます。

ですが、
・メール便のみ
・メール便&宅急便
・宅急便のみ
カート内が上記の状態で検証致しましたが、
配送方法に変化が見られませんでした。
(メール便を全ての時に選択可能でした。)

もう少し頑張ってみます…。



●EC-CUBE メール便では着日指定できないようにしておく
http://tech.bandersnatch.jp/387
上記のJS部分につきましてですが、
現在下記となっておりましたが、
<script type="text/javascript">//<![CDATA[
    $(function() {
        if ($('input[name=deliv_id]:checked').val()
            || $('#deliv_id').val()) {
            showForm(true);
			changeForm(deliv_id);
        } else {
            showForm(false);
        }
        $('input[id^=deliv_]').click(function() {
            showForm(true);
            var data = {};
            data.mode = 'select_deliv';
            data.deliv_id = $(this).val();
            data['<!--{$smarty.const.TRANSACTION_ID_NAME}-->'] = '<!--{$transactionid}-->';
            $.ajax({
                type : 'POST',
                url : location.pathname,
                data: data,
                cache : false,
                dataType : 'json',
                error : remoteException,
                success : function(data, dataType) {
                    if (data.error) {
                        remoteException();
                    } else {
                        // 支払い方法の行を生成
                        var payment_tbody = $('#payment tbody');
                        payment_tbody.empty();
                        for (var i in data.arrPayment) {
                            // ラジオボタン
                            <!--{* IE7未満対応のため name と id をベタ書きする *}-->
                            var radio = $('<input type="radio" name="payment_id" id="pay_' + i + '" />')
                                .val(data.arrPayment[i].payment_id);
                            // ラベル
                            var label = $('<label />')
                                .attr('for', 'pay_' + i)
                                .text(data.arrPayment[i].payment_method);
                            // 行
                            var tr = $('<tr />')
                                .append($('<td />')
                                    .addClass('alignC')
                                    .append(radio))
                                .append($('<td />').append(label));

                            // 支払方法の画像が登録されている場合は表示
                            if (data.img_show) {
                                var payment_image = data.arrPayment[i].payment_image;
                                $('th#payment_method').attr('colspan', 3);
                                if (payment_image) {
                                    var img = $('<img />').attr('src', '<!--{$smarty.const.IMAGE_SAVE_URLPATH}-->' + payment_image);
                                    tr.append($('<td />').append(img));
                                } else {
                                    tr.append($('<td />'));
                                }
                            } else {
                                $('th#payment_method').attr('colspan', 2);
                            }

                            tr.appendTo(payment_tbody);
                        }
                        // お届け時間を生成
                        var deliv_time_id_select = $('select[id^=deliv_time_id]');
                        deliv_time_id_select.empty();
                        deliv_time_id_select.append($('<option />').text('指定なし').val(''));
                        for (var i in data.arrDelivTime) {
                            var option = $('<option />')
                                .val(i)
                                .text(data.arrDelivTime[i])
                                .appendTo(deliv_time_id_select);
                        }
                    }
					changeForm(deliv_id);

                }
            });
        });

        /**
         * 通信エラー表示.
         */
        function remoteException(XMLHttpRequest, textStatus, errorThrown) {
            alert('通信中にエラーが発生しました。カート画面に移動します。');
            location.href = '<!--{$smarty.const.CART_URL}-->';
        }

        /**
         * 配送方法の選択状態により表示を切り替える
         */
        function showForm(show) {
            if (show) {
                $('#payment, div.delivdate, .select-msg').show();
                $('.non-select-msg').hide();
            } else {
                $('#payment, div.delivdate, .select-msg').hide();
                $('.non-select-msg').show();
            }
        }
		function changeForm(deliv_id) {
			var deliv_time_id_select = $('select[id^=deliv_time_id]');
			var deliv_date_select = $('select[id^=deliv_date]');
			if (deliv_id=='20') {
				if(deliv_time_id_select){
					deliv_time_id_select.attr("disabled", "disabled");
				}
				if(deliv_date_select){
					deliv_date_select.attr("disabled", "disabled");
				}
				$('div.pay_area02_display_mail').show();
				$('div.pay_area02_display').hide();
			} else {
				$('div.pay_area02_display').show();
				$('div.pay_area02_display_mail').hide();
				if(deliv_time_id_select){
					deliv_time_id_select.removeAttr("disabled");
				}
				if(deliv_date_select){
					deliv_date_select.removeAttr("disabled");
				}
			}
		}
    });
//]]></script>

上記から下記へ修正を行いました。
<script type="text/javascript">//<![CDATA[
$(function() {
	if ($('input[name=deliv_id]:checked').val()
		|| $('#deliv_id').val()) {
		var deliv_id=null;
		if($('input[name=deliv_id]:checked').val()){
			deliv_id=$('input[name=deliv_id]:checked').val();
		}
		if($('#deliv_id').val()){
			deliv_id=$('#deliv_id').val();
		}
		showForm(true);
		changeForm(deliv_id);
	} else {
		showForm(false);
	}
	$('input[id^=deliv_]').click(function() {
		showForm(true);
		var deliv_id=null;
		if($('input[name=deliv_id]:checked').val()){
			deliv_id=$('input[name=deliv_id]:checked').val();
		}
		if($('#deliv_id').val()){
			deliv_id=$('#deliv_id').val();
		}
		var data = {};
		data.mode = 'select_deliv';
		data.deliv_id = $(this).val();
		data['<!--{$smarty.const.TRANSACTION_ID_NAME}-->'] = '<!--{$transactionid}-->';
		$.ajax({
			type : 'POST',
			url : location.pathname,
			data: data,
			cache : false,
			dataType : 'json',
			error : remoteException,
			success : function(data, dataType) {
				if (data.error) {
					remoteException();
				} else {
					// 支払い方法の行を生成
					var payment_tbody = $('#payment tbody');
					payment_tbody.empty();
					for (var i in data.arrPayment) {
						// ラジオボタン 
						<!--{* IE7未満対応のため name と id をベタ書きする *}-->
						var radio = $('<input type="radio" name="payment_id" id="pay_' + i + '" />')
						.val(data.arrPayment[i].payment_id);
						// ラベル
						var label = $('<label />')
						.attr('for', 'pay_' + i)
						.text(data.arrPayment[i].payment_method);
						// 行
						var tr = $('<tr />')
						.append($('<td />')
						.addClass('alignC')
						.append(radio))
						.append($('<td />').append(label));
							// 支払方法の画像が登録されている場合は表示
						if (data.img_show) {
							var payment_image = data.arrPayment[i].payment_image;
							$('th#payment_method').attr('colspan', 3);
							if (payment_image) {
								var img = $('<img />').attr('src', '<!--{$smarty.const.IMAGE_SAVE_URLPATH}-->' + payment_image);
								tr.append($('<td />').append(img));
							} else {
								tr.append($('<td />'));
							}
						} else {
							$('th#payment_method').attr('colspan', 2);
						}
							tr.appendTo(payment_tbody);
					}
						// お届け時間を生成
					var deliv_time_id_select = $('select[id^=deliv_time_id]');
					deliv_time_id_select.empty();
					var no_select_label='';
					var arr_deliv_time_length=0;
					for (var i in data.arrDelivTime) {
						arr_deliv_time_length++;
					}
					
					if(arr_deliv_time_length>0){
						no_select_label='指定なし';
					}else{
						no_select_label='指定できません';
					}
					deliv_time_id_select.append($('<option />').text(no_select_label).val(''));
					if(arr_deliv_time_length>0){
						for (var i in data.arrDelivTime) {
							var option = $('<option />')
							.val(i)
							.text(data.arrDelivTime[i])
							.appendTo(deliv_time_id_select);
						}
					}
					changeForm(deliv_id);
					
				}
			}
		});
	});
	/**
	 * 通信エラー表示.
	 */
	function remoteException(XMLHttpRequest, textStatus, errorThrown) {
		alert('通信中にエラーが発生しました。カート画面に移動します。');
		location.href = '<!--{$smarty.const.CART_URLPATH}-->';
	}
	/**
	 * 配送方法の選択状態により表示を切り替える
	 */
	function showForm(show) {
		if (show) {
			$('#payment, div.delivdate, .select-msg').show();
			$('.non-select-msg').hide();
		} else {
			$('#payment, div.delivdate, .select-msg').hide();
			$('.non-select-msg').show();
		}
	}
	function changeForm(deliv_id) {
		var deliv_time_id_select = $('select[id^=deliv_time_id]');
		var deliv_date_select = $('select[id^=deliv_date]');
		if (deliv_id=='20') {
			if(deliv_time_id_select){
				deliv_time_id_select.attr("disabled", "disabled");
			}
			if(deliv_date_select){
				deliv_date_select.attr("disabled", "disabled");
			}
			$('div.pay_area02_display_mail').show();
			$('div.pay_area02_display').hide();
		} else {
			$('div.pay_area02_display').show();
			$('div.pay_area02_display_mail').hide();
			if(deliv_time_id_select){
				deliv_time_id_select.removeAttr("disabled");
			}
			if(deliv_date_select){
				deliv_date_select.removeAttr("disabled");
			}
		}
	}
});
//]]></script>

参考サイト内の通りへ変更致しましたところ、
配送方法「メール便」を選択すると、
お届け時間&お届け日の項目を消すことに成功しました。

ただし最上部の方にかきました通り、
宅急便商品でも、メール便商品でも、
配送方法「メール便」を選択できてしまう為、
最終的な解決まで至っておりません。
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   2.13系メール便の対応について harusame 2014/7/30 17:05
     Re: 2.13系メール便の対応について bucchi 2014/8/3 14:21
       Re: 2.13系メール便の対応について harusame 2014/8/3 18:11
         Re: 2.13系メール便の対応について yuh 2014/8/3 20:59
           Re: 2.13系メール便の対応について harusame 2014/8/4 11:42
             Re: 2.13系メール便の対応について yuh 2014/8/4 13:50
               Re: 2.13系メール便の対応について harusame 2014/8/4 17:25
                 Re: 2.13系メール便の対応について yuh 2014/8/4 17:35
                   Re: 2.13系メール便の対応について harusame 2014/8/4 18:56
                     Re: 2.13系メール便の対応について yuh 2014/8/4 21:35
                       Re: 2.13系メール便の対応について harusame 2014/8/5 15:09
                         Re: 2.13系メール便の対応について yuh 2014/8/5 15:33
                           Re: 2.13系メール便の対応について harusame 2014/8/5 16:00
                             Re: 2.13系メール便の対応について yuh 2014/8/5 16:10
                               Re: 2.13系メール便の対応について harusame 2014/8/5 17:07
                                 Re: 2.13系メール便の対応について yuh 2014/8/5 17:36
                                   Re: 2.13系メール便の対応について harusame 2014/8/5 19:01
                                     Re: 2.13系メール便の対応について yuh 2014/8/5 21:36
                                       Re: 2.13系メール便の対応について harusame 2014/8/5 23:47
                                         Re: 2.13系メール便の対応について yuh 2014/8/5 23:58
                                         » Re: 2.13系メール便の対応について harusame 2014/8/9 10:39
                                             Re: 2.13系メール便の対応について yuh 2014/8/9 19:12
                                               Re: 2.13系メール便の対応について harusame 2014/8/10 11:06
                                                 Re: 2.13系メール便の対応について harusame 2014/8/10 11:34
                                                   Re: 2.13系メール便の対応について harusame 2014/8/10 11:50
                                                     Re: 2.13系メール便の対応について yuh 2014/8/10 12:17
                                                       Re: 2.13系メール便の対応について harusame 2014/8/10 12:28
                                                         Re: 2.13系メール便の対応について harusame 2014/8/10 13:32
                                                           Re: 2.13系メール便の対応について yuh 2014/8/10 13:44
                                                             Re: 2.13系メール便の対応について harusame 2014/8/10 14:04
                                                               Re: 2.13系メール便の対応について harusame 2014/12/16 15:53

 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,481名です
総投稿数は110,100件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1655
8
red
1570
9
mcontact
1306
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.