모바일 상품목록 더보기 버튼이 정상적으로 작동되지 않습니다ㅠ

모바일 상품목록 더보기 버튼이 정상적으로 작동되지 않습니다ㅠ

QA

모바일 상품목록 더보기 버튼이 정상적으로 작동되지 않습니다ㅠ

답변 2

본문

모바일 상품목록 페이지에서 '더보기' 버튼을 클릭하면 정상적으로 작동되지 않습니다.

영카트 버전은 'G5_YOUNGCART_VER', '5.3.0.2'

 

/mobile/shop/list.php 파일에

    <?php
    if($i > 0 && $total_count > $items) {
        $qstr1 .= 'ca_id='.$ca_id;
        $qstr1 .='&sort='.$sort.'&sortodr='.$sortodr;
        $ajax_url = G5_SHOP_URL.'/ajax.list.php?'.$qstr1;
    ?>
    <div class="li_more">
        <p id="item_load_msg"><img src="<?php echo G5_SHOP_CSS_URL; ?>/img/loading.gif" alt="로딩이미지" ><br>잠시만 기다려주세요.</p>
        <div class="li_more_btn">
            <button type="button" id="btn_more_item" data-url="<?php echo $ajax_url; ?>" data-page="<?php echo $page; ?>">더보기 +</button>
        </div>
    </div>
    <?php } ?>

    <?php
    // 하단 HTML
    echo '<div id="sct_thtml">'.conv_content($ca['ca_mobile_tail_html'], 1).'</div>';
    ?>

 

/js/shop.mobile.list.js 파일에

$(function() {
    $("#btn_more_item").on("click", function() {
        var $this = $(this);
        var url   = $this.data("url");
        var page  = $this.data("page");
        var $msg  = $("#item_load_msg");

        if($msg.is(":visible"))
            return false;

        if($this.hasClass("no_more_item")) {
            alert("등록된 상품이 더 이상없습니다.");
            return false;
        }

        $msg.css("display", "block");

        $.ajax({
            type: "POST",
            data: { page: page },
            url: url,
            cache: false,
            async: true,
            dataType: "json",
            success: function(data) {
                if(data.error != "") {
                    alert(data.error);
                    return false;
                }

                var $items = $(data.item).find("li");
                var cnt = $items.size();

                if(cnt < 1) {
                    alert("등록된 상품이 더 이상없습니다.");
                    $msg.css("display", "none");
                    $this.addClass("no_more_item");
                    return false;
                }

                $("#sct_wrap").append($items);
                $this.data("page", data.page);
                $msg.css("display", "none");
            }
        });
    });
});

 

질문검색을 해보니

$("#sct_wrap").append($items); 를

$("#sct_thtml").append($items); 수정해보라고해서 했는데

노출은 되는데 '더보기'버튼이 노출되는 상품목록 아래에 버튼이 이동되지 않고

노출되는 상품목록도 1줄에 1개씩 노출됩니다.ㅠㅠ

 

위의 2개의 페이지 말고 확인해야 하는 페이지가 또 있나요?

고수님들 도와주세요~

이 질문에 댓글 쓰기 :

답변 2

보통은 자바스크립트, 제이쿼리 문제입니다.

선택자가 사용하는 스킨의 class 와 동일한지를 보셔야 할것같습니다.

관련 css를 확인해본 결과
#sct_wrap, #sct_thtml 모두 css소스를 찾을 수 없고
스크립트와 제이쿼리 이름값을 같게 해도 정상 작동 하지 않습니다.ㅠ

관련 css 파일 경로 아시면 알려주세요~~^^

'G5_YOUNGCART_VER', '5.3.0.2' 는 베타버전 인데요..
혹시 업데이트를 하려면
아래 2개 파일만 업데이트 하는게 아닌거 같습니다.

/mobile/shop/list.php
/js/shop.mobile.list.js

업데이트 해야하는 파일을 알고 계시면 답변주시면 감사하겠습니다.^^

위의 수정처럼했는데도 안된다면,

 

다른 경우일지 몰라도 이런경우에

 

만약 list.php의 파일의 카테고리를 추가했다면

 

list.php의

 

$list->set_category($ca['ca_id'], 1);
$list->set_category($ca['ca_id'], 2);
$list->set_category($ca['ca_id'], 3);

추가해서

$list->set_category($ca['ca_id'], 4); 이런식으로 추가를 했다면

 

ajax.list.php 파일에도

위의 값을 아래의 파일에도 동일하게 적용해주세요.

 

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 123,729
© SIRSOFT
현재 페이지 제일 처음으로