EC-CUBE 2系

EC-CUBE 2系の「もっと見る」を簡潔に

by TheVOS posted Jan 02, 2020
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
원문출처 http://www.neobit.jp/archives/462

今更ながら、EC-CUBE 2系のスマホ版のデザイン変更で苦労しました。

EC-CUBEに組み込まれている「もっと見る」ボタンですが、Ajaxで次ページのjsonデータを取得してきて画像、商品名、価格等のspanやimgタグの中身を1個ずつコピーしている。。。(3系でも同じなのかな??)

これでは、つぶしが気かないったらありゃしないので、デザイン変更しても動作するJavaScriptに書き換えてみました。jsonではなく2ページ目のHTMLをそのままGETしてきて商品一覧部分のタグをそのまま現在の一覧の下に差し込むだけ。

・総HIT数が<span id=”productscount”>XXX</span>に書かれていること。
・もっと見るボタンにid=”btn_more_product”が付いていること。
・商品リストの個別商品が class=”list_area” に入っていて、各商品ブロックが<form>で囲まれていること。
(<form>で囲まれていないなら、2ヶ所の .closest(‘form’) は不要)

の3点だけ守られていれば、デザイン変更しても大丈夫です。

<script>
    var pageNo = 2;
    var url = "<!--{$smarty.const.P_DETAIL_URLPATH}-->";
    var imagePath = "<!--{$smarty.const.IMAGE_SAVE_URLPATH|sfTrimURL}-->/";
    var statusImagePath = "<!--{$TPL_URLPATH}-->";
	
    function getProducts(limit) {
        $.mobile.showPageLoadingMsg();
        var i = limit;
        //送信データを準備
        var postData = {};
        $('#form1').find(':input').each(function(){
            postData[$(this).attr('name')] = $(this).val();
        });
        postData["mode"] = "html";
        postData["pageno"] = pageNo;

        // デザイン変更に左右されない「もっと見る」処理に書き換えました。
        $.ajax({
            type: "POST",
            data: postData,
            url: "<!--{$smarty.const.ROOT_URLPATH}-->products/list.php",
            cache: false,
            dataType: "html",
            error: function(XMLHttpRequest, textStatus, errorThrown){
                alert(textStatus);
                $.mobile.hidePageLoadingMsg();
            },
            success: function(result){
                $('.list_area:last').closest('form').after($(result).find('.list_area').closest('form').clone(true));
                pageNo++;

                //すべての商品を表示したか判定
                if (parseInt($("#productscount").text()) <= $(".list_area").length) {
                    $("#btn_more_product").hide();
                }
                $.mobile.hidePageLoadingMsg();
            }
        });
    }
</script>

Facebook [ko]댓글 


List of Articles
카테고리 아니오 제목 날짜 조회 수
EC-CUBE 2系 39 2.13系 ソフトウェア要件 2019.10.11 59
CSS 38 CSS object-fit 속성 file 2019.12.04 54
CSS 37 Css 텍스트 외곽선 처리하기, Stroke 2019.11.28 113
EC-CUBE 2.x 36 EC CUBEで商品ごとに支払い方法を簡単に分ける file 2019.10.28 668
EC-CUBE 2系 35 EC-CUBE 2系でShift_JISに存在しない文字が含まれた受注データがあると、その受注内容が受注CSVからまるごと欠落する 2020.01.02 91
EC-CUBE 2系 34 EC-CUBE 2系でポート番号付で管理画面を動かす 2020.01.02 66
EC-CUBE 2系 33 EC-CUBE 2系で商品を沢山購入すると住所情報が欠落する 2020.01.02 86
EC-CUBE 2系 32 EC-CUBE 2系で商品情報をCSVで更新するとき関連商品情報が削除される 2020.01.02 106
EC-CUBE 2系 31 EC-CUBE 2系で注文を受けた商品の規格を後で削除すると、管理画面で受注内容を編集できなくなる 2020.01.02 137
EC-CUBE 2系 » EC-CUBE 2系の「もっと見る」を簡潔に 2020.01.02 626
EC-CUBE 4.x 29 EC-CUBE 4를 설치했을 때 설정 한 데이터베이스 암호는 어디에 저장되는 것입니까? 2019.11.14 390
EC-CUBE 운용 설명서 28 EC-CUBE2.12 運用マニュアル file 2019.09.29 64
EC-CUBE 2系 27 EC-CUBE2.13カスタマイズ:新しいページを追加する file 2019.11.11 638
EC-CUBE 4系 26 EC-CUBE4 계에서 관리 화면에 새 메뉴 항목을 추가하는 방법 file 2019.10.28 498
EC-CUBE 2.x 25 EC-CUBE:SC_FormParamクラスによるパラメーターチェック方法 2019.10.03 121
EC-CUBE 2系 24 EC-CUBEをインストールする file 2019.12.10 98
EC-CUBE 2系 23 EC-CUBE標準規約 2019.09.28 157
EC-CUBE 2.x 22 EC-CUBE에서 모든 페이지에서 로그인 체크하기 2019.11.11 453
EC-CUBE 2系 21 ECCUBE 2.13のインストール方法をスクリーンショット付きでわかりやすく徹底解説! file 2019.10.10 134
메뉴얼 20 THEVOS Youtube BOARD SKIN 사용 설명 2018.11.11 118
Board Pagination Prev 1 2 Next
/ 2