バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
harusame
投稿日時: 2014/8/5 17:07
対応状況: −−−
半人前
登録日: 2014/7/30
居住地: 奈良
投稿: 27
Re: 2.13系メール便の対応について
getListも検索したのですが発見できず、
SC_Helper_Deliveryということがわかりませんでした。
本当に、本当に、ありがとうございます。


システムエラーの嵐でしたが、
最終的に下記のように変更しました。
    /**
     * 配送方法一覧の取得.
     *
     * @param  integer $product_type_id 商品種別ID
     * @param  boolean $has_deleted     削除された支払方法も含む場合 true; 初期値 false
     * @return array
     */
    public function getList($product_type_id = null, $has_deleted = false, $mail_delivery_available = true)
    {
		$mail_deliv_id = 20;
		$objQuery = & SC_Query_Ex::getSingletonInstance();
		$objQuery->setOrder('rank DESC');
		$where='product_type_id = ? AND del_flg = 0';
		$arrval=array($product_type_id);
		if(!$mail_delivery_available){
			$where .= ' AND deliv_id ! = ?';
			$arrval[] = $mail_deliv_id;
		}
        $objQuery =& SC_Query_Ex::getSingletonInstance();
        $col = '*';
        $where = '';
        $arrVal = array();
        if (!$has_deleted) {
            $where .= 'del_flg = 0';
        }
        if (!is_null($product_type_id)) {
            if (!$has_deleted) {
                $where .= ' AND ';
            }
            $where .= 'product_type_id = ?';
            $arrVal[] = $product_type_id;
        }
        $table = 'dtb_deliv';
        $objQuery->setOrder('rank DESC');
        $arrRet = $objQuery->select($col, $table, $where, $arrVal);

		return $objQuery->select('*', 'dtb_deliv', $where ,$arrval );
    }

$objQuery = & SC_Query_Ex::getSingletonInstance();
$objQuery->setOrder('rank DESC');
などは重複しているのですが、削除すべきなのでしょうか。
検索等を行ったのですが、解決できず、上記のようになってしまいました。


その後、
EC-CUBE メール便では着日指定できないようにしておく
http://tech.bandersnatch.jp/387
上記カスタマイズにて、
/data/Smarty/templates/default/shopping/payment.tplを
            <!--{if $cartKey != $smarty.const.PRODUCT_TYPE_DOWNLOAD}-->
            <div class="pay_area02">
                <h3>お届け時間の指定</h3>
				<div class="pay_area02_display">
                <p class="select-msg">ご希望の方は、お届け時間を選択してください。</p>
                <p class="non-select-msg">まずはじめに、配送方法を選択ください。</p>
                <!--{foreach item=shippingItem name=shippingItem from=$arrShipping}-->
                <!--{assign var=index value=$shippingItem.shipping_id}-->
                <div class="delivdate top">
                    <!--{if $is_multiple}-->
                        <span class="st">▼<!--{$shippingItem.shipping_name01}--><!--{$shippingItem.shipping_name02}-->
                        <!--{$arrPref[$shippingItem.shipping_pref]}--><!--{$shippingItem.shipping_addr01}--><!--{$shippingItem.shipping_addr02}--></span><br/>
                    <!--{/if}-->
                    <!--★お届け日★-->
                    <!--{assign var=key value="deliv_date`$index`"}-->
                    <span class="attention"><!--{$arrErr[$key]}--></span>
                    お届け日:
                    <!--{if !$arrDelivDate}-->
                        ご指定頂けません。
                    <!--{else}-->
                        <select name="<!--{$key}-->" id="<!--{$key}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->">
                            <option value="" selected="">指定なし</option>
                            <!--{assign var=shipping_date_value value=$arrForm[$key].value|default:$shippingItem.shipping_date}-->
                            <!--{html_options options=$arrDelivDate selected=$shipping_date_value}-->
                        </select>&nbsp;
                    <!--{/if}-->
                    <!--★お届け時間★-->
                    <!--{assign var=key value="deliv_time_id`$index`"}-->
                    <span class="attention"><!--{$arrErr[$key]}--></span>
                    お届け時間:
                    <select name="<!--{$key}-->" id="<!--{$key}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->">
                        <option value="" selected="">指定なし</option>
                        <!--{assign var=shipping_time_value value=$arrForm[$key].value|default:$shippingItem.time_id}-->
                        <!--{html_options options=$arrDelivTime selected=$shipping_time_value}-->
                    </select>
                </div>
                <!--{/foreach}-->
            </div>
			<div class="pay_area02_display_mail">
			※メール便は指定できません。
			</div>
			</div>
            <!--{/if}-->

上記のようにし、さらにjavascriptを、
<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>

上記のように変更致しました。

ですが、

宅急便商品でもメール便が表示されたままで、
配送方法を選択すると、
「通信中にエラーが発生しました。カートへ移動します。」
のメッセージとともにカートへ戻されてしまいます。

ただただ間違っていることしかわからない状態で、
WEB等で調べに調べているのですが、なかなか解決に至りません。
何卒、ご教示頂ければ幸いです。
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   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プラグイン

統計情報

総メンバー数は90,108名です
総投稿数は110,315件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1681
8
red
1571
9
mcontact
1351
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.