테스트 사이트 - 개발 중인 베타 버전입니다

영카트 상품 더보기 ajax 오류 채택완료

distributor 7년 전 조회 5,305

카테고리 리스트에서 상품 더 보기를 눌렀을 때 

상품이 더 등록되어 있지만 상품이 더 없다고 노출되네요 

 

초보라 어떤 부분이 오류가 있는지 너무 어렵네요 ㅠㅠ

 

list.php 부분입니다

</p>

<p><?php

include_once('./_common.php');</p>

<p>$sql = " select *

           from {$g5['g5_shop_category_table']}

          where ca_id = '$ca_id'

            and ca_use = '1'  ";

$ca = sql_fetch($sql);

if (!$ca['ca_id'])

    alert('등록된 분류가 없습니다.', G5_SHOP_URL);</p>

<p>// 테마미리보기 스킨 등의 변수 재설정

if(defined('_THEME_PREVIEW_') && _THEME_PREVIEW_ === true) {

    $ca['ca_mobile_skin']       = (isset($tconfig['ca_mobile_skin']) && $tconfig['ca_mobile_skin']) ? $tconfig['ca_mobile_skin'] : $ca['ca_mobile_skin'];

    $ca['ca_mobile_img_width']  = (isset($tconfig['ca_mobile_img_width']) && $tconfig['ca_mobile_img_width']) ? $tconfig['ca_mobile_img_width'] : $ca['ca_mobile_img_width'];

    $ca['ca_mobile_img_height'] = (isset($tconfig['ca_mobile_img_height']) && $tconfig['ca_mobile_img_height']) ? $tconfig['ca_mobile_img_height'] : $ca['ca_mobile_img_height'];

    $ca['ca_mobile_list_mod']   = (isset($tconfig['ca_mobile_list_mod']) && $tconfig['ca_mobile_list_mod']) ? $tconfig['ca_mobile_list_mod'] : $ca['ca_mobile_list_mod'];

    $ca['ca_mobile_list_row']   = (isset($tconfig['ca_mobile_list_row']) && $tconfig['ca_mobile_list_row']) ? $tconfig['ca_mobile_list_row'] : $ca['ca_mobile_list_row'];

}</p>

<p>// 본인인증, 성인인증체크

if(!$is_admin) {

    $msg = shop_member_cert_check($ca_id, 'list');

    if($msg)

        alert($msg, G5_SHOP_URL);

}</p>

<p>$g5['title'] = $ca['ca_name'];</p>

<p>include_once(G5_MSHOP_PATH.'/_head.php');</p>

<p>// 스킨경로

$skin_dir = G5_MSHOP_SKIN_PATH;</p>

<p>if($ca['ca_mobile_skin_dir']) {

    if(preg_match('#^theme/(.+)$#', $ca['ca_mobile_skin_dir'], $match))

        $skin_dir = G5_THEME_MOBILE_PATH.'/'.G5_SKIN_DIR.'/shop/'.$match[1];

    else

        $skin_dir = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/shop/'.$ca['ca_mobile_skin_dir'];</p>

<p>    if(is_dir($skin_dir)) {

        $skin_file = $skin_dir.'/'.$ca['ca_mobile_skin'];</p>

<p>        if(!is_file($skin_file))

            $skin_dir = G5_MSHOP_SKIN_PATH;

    } else {

        $skin_dir = G5_MSHOP_SKIN_PATH;

    }

}</p>

<p>define('G5_SHOP_CSS_URL', str_replace(G5_PATH, G5_URL, $skin_dir));

?></p>

<p><script>

var g5_shop_url = "<?php echo G5_SHOP_URL; ?>";

</script>

<script src="<?php echo G5_JS_URL; ?>/shop.mobile.list.js"></script></p>

<p><div id="sct"></p>

<p>    <?php

    // 상단 HTML

    echo '<div id="sct_hhtml">'.conv_content($ca['ca_mobile_head_html'], 1).'</div>';</p>

<p>    $cate_skin = $skin_dir.'/listcategory.skin.php';

    if(!is_file($cate_skin))

        $cate_skin = G5_MSHOP_SKIN_PATH.'/listcategory.skin.php';

    include $cate_skin;</p>

<p>    // 테마미리보기 베스트상품 재설정

    if(defined('_THEME_PREVIEW_') && _THEME_PREVIEW_ === true) {

        if(isset($theme_config['ca_mobile_list_best_mod']))

            $theme_config['ca_mobile_list_best_mod'] = (isset($tconfig['ca_mobile_list_best_mod']) && $tconfig['ca_mobile_list_best_mod']) ? $tconfig['ca_mobile_list_best_mod'] : 0;

        if(isset($theme_config['ca_mobile_list_best_row']))

            $theme_config['ca_mobile_list_best_row'] = (isset($tconfig['ca_mobile_list_best_row']) && $tconfig['ca_mobile_list_best_row']) ? $tconfig['ca_mobile_list_best_row'] : 0;

    }</p>

<p>    // 분류 Best Item

    $list_mod = (isset($theme_config['ca_mobile_list_best_mod']) && $theme_config['ca_mobile_list_best_mod']) ? (int)$theme_config['ca_mobile_list_best_mod'] : $ca['ca_mobile_list_mod'];

    $list_row = (isset($theme_config['ca_mobile_list_best_row']) && $theme_config['ca_mobile_list_best_row']) ? (int)$theme_config['ca_mobile_list_best_row'] : $ca['ca_mobile_list_row'];

    $limit = $list_mod * $list_row;

    $best_skin = G5_MSHOP_SKIN_PATH.'/list.best.10.skin.php';</p>

<p>    $sql = " select *

                from {$g5['g5_shop_item_table']}

                where ( ca_id like '$ca_id%' or ca_id2 like '$ca_id%' or ca_id3 like '$ca_id%' )

                  and it_use = '1'

                  and it_type4 = '1'

                order by it_order, it_id desc

                limit 0, $limit ";</p>

<p>    $list = new item_list($best_skin, $list_mod, $list_row, $ca['ca_mobile_img_width'], $ca['ca_mobile_img_height']);

    $list->set_query($sql);

    $list->set_mobile(true);

    $list->set_view('it_img', true);

    $list->set_view('it_id', false);

    $list->set_view('it_name', true);

    $list->set_view('it_price', true);

    echo $list->run();</p>

<p>    // 상품 출력순서가 있다면

    if ($sort != "")

        $order_by = $sort.' '.$sortodr.' , it_order, it_id desc';

    else

        $order_by = 'it_order, it_id desc';</p>

<p>    $error = '<p class="sct_noitem">등록된 상품이 없습니다.</p>';</p>

<p>    // 리스트 스킨

    $skin_file = is_include_path_check($skin_dir.'/'.$ca['ca_mobile_skin']) ? $skin_dir.'/'.$ca['ca_mobile_skin'] : $skin_dir.'/list.10.skin.php';</p>

<p>    if (file_exists($skin_file)) {

        $sort_skin = $skin_dir.'/list.sort.skin.php';

        if(!is_file($sort_skin))

            $sort_skin = G5_MSHOP_SKIN_PATH.'/list.sort.skin.php';

        include $sort_skin;</p>

<p>        // 총몇개

        $items = $ca['ca_mobile_list_mod'] * $ca['ca_mobile_list_row'];

        // 페이지가 없으면 첫 페이지 (1 페이지)

        if ($page < 1) $page = 1;

        // 시작 레코드 구함

        $from_record = ($page - 1) * $items;</p>

<p>        $list = new item_list($skin_file, $ca['ca_mobile_list_mod'], $ca['ca_mobile_list_row'], $ca['ca_mobile_img_width'], $ca['ca_mobile_img_height']);

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

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

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

        $list->set_is_page(true);

        $list->set_mobile(true);

        $list->set_order_by($order_by);

        $list->set_from_record($from_record);

        $list->set_view('it_img', true);

        $list->set_view('it_id', false);

        $list->set_view('it_name', true);

        $list->set_view('it_price', true);

        echo $list->run();</p>

<p>        // where 된 전체 상품수

        $total_count = $list->total_count;

    }

    else

    {

        echo '<div class="sct_nofile">'.str_replace(G5_PATH.'/', '', $skin_file).' 파일을 찾을 수 없습니다.
관리자에게 알려주시면 감사하겠습니다.</div>';

    }

    ?></p>

<p>    <?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="로딩이미지" >
잠시만 기다려주세요.</p>

        <div class="li_more_btn">

            <button type="button" id="btn_more_item" data-url="<?php echo $ajax_url; ?>" data-page="<?php echo $page; ?>">MORE ITEM +</button>

        </div>

    </div>

    <?php } ?></p>

<p>    <?php

    // 하단 HTML

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

    ?>

</div></p>

<p><?php

include_once(G5_MSHOP_PATH.'/_tail.php');</p>

<p>echo "\n<!-- {$ca['ca_mobile_skin']} -->\n";

?>

 </p>

<p> </p>

<p> </p>

<p>

 

 

ajax.list.php 입니다

 

</p>

<p><?php

include_once('./_common.php');

include_once(G5_LIB_PATH.'/json.lib.php');</p>

<p>$data = array();</p>

<p>$sql = " select *

           from {$g5['g5_shop_category_table']}

          where ca_id = '$ca_id'

            and ca_use = '1'  ";

$ca = sql_fetch($sql);

if (!$ca['ca_id'])

    die(json_encode($data['error'] = '등록된 분류가 없습니다.'));</p>

<p>// 스킨경로

$skin_dir = G5_MSHOP_SKIN_PATH;</p>

<p>if($ca['ca_mobile_skin_dir']) {

    $skin_dir = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/shop/'.$ca['ca_mobile_skin_dir'];</p>

<p>    if(is_dir($skin_dir)) {

        $skin_file = $skin_dir.'/'.$ca['ca_mobile_skin'];</p>

<p>        if(!is_file($skin_file))

            $skin_dir = G5_MSHOP_SKIN_PATH;

    } else {

        $skin_dir = G5_MSHOP_SKIN_PATH;

    }

}</p>

<p>$skin_file = $skin_dir.'/'.$ca['ca_mobile_skin'];</p>

<p>// 상품 출력순서가 있다면

if ($sort != "")

    $order_by = $sort.' '.$sortodr.' , it_order, it_id desc';

else

    $order_by = 'it_order, it_id desc';</p>

<p>// 총몇개

$items = $ca['ca_mobile_list_mod'] * $ca['ca_mobile_list_row'];

// 페이지가 없으면 첫 페이지 (1 페이지)

if ($page < 1) $page = 1;</p>

<p>$page++;</p>

<p>// 시작 레코드 구함

$from_record = ($page - 1) * $items;</p>

<p>ob_start();</p>

<p>$list = new item_list($skin_file, $ca['ca_mobile_list_mod'], $ca['ca_mobile_list_row'], $ca['ca_mobile_img_width'], $ca['ca_mobile_img_height']);

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

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

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

$list->set_is_page(true);

$list->set_mobile(true);

$list->set_order_by($order_by);

$list->set_from_record($from_record);

$list->set_view('it_img', true);

$list->set_view('it_id', false);

$list->set_view('it_name', true);

$list->set_view('it_price', true);

echo $list->run();</p>

<p>$content = ob_get_contents();

ob_end_clean();</p>

<p>$data['item']  = $content;

$data['error'] = '';

$data['page']  = $page;</p>

<p>die(json_encode($data));

?></p>

<p>

 

너무 많은 내용을 올린 것 같아 정말 죄송합니다. 

 

상품이 적을 때는 몰랐지만 많이 등록된 시점에 이런 오류가 있다는걸 알게되니 참 당황스럽습니다 

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
플라이
7년 전

위 부분은 소스상으로만 파악하기에는 어려움이 있습니다.

사이트 주소와 위 부분 처리가 어렵다면 제작의뢰를 통해 진행하시는게 수월해 보일수 있다 판단이 됩니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

유준아빠

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

 

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

 

만약 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 파일에도

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

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

d
7년 전

원인을 찾아 해결했습니다. 혹시나 영카트 아리아나벤티 님께서 만드신 테마를 사용하시는 분들은 모든 테마가 같은 오류가 있을거라 생각됩니다.  저는 아래 링크한테마가 아닌 다른 테마 사용 중인데 같은 오류였습니다.

 

https://sir.kr/yc5_theme/676

https://sir.kr/qa/201074

https://sir.kr/yc5_tip/903

 

3개 링크 참고하시면 해결하실 수 있습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인