모바일 상품목록 더보기 버튼이 정상적으로 작동되지 않습니다ㅠ
본문
모바일 상품목록 페이지에서 '더보기' 버튼을 클릭하면 정상적으로 작동되지 않습니다.
영카트 버전은 '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 와 동일한지를 보셔야 할것같습니다.
위의 수정처럼했는데도 안된다면,
다른 경우일지 몰라도 이런경우에
만약 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 파일에도
위의 값을 아래의 파일에도 동일하게 적용해주세요.