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

2차카테고리 리스트 페이지에서 2차카테고리 전체목록 보이게 하는 방법 채택완료

굼떠 4개월 전 조회 1,495

기본 소스에서 1차 카테고리가 상의 

2차 카테고리가 반팔 티셔츠, 긴팔티셔츠, 반팔셔츠 이렇게 있다고 가정했을 때 

 

1차 카테고리 상단에 

2차카테고리가 전체적으로 뿌려지는데

반팔티셔츠를 눌러 리스트페이지가 변동되었을 때도 유동적으로 다른 2차 카테고리를 클릭할 수 있도록

목록이 나오게 하려면 어떻게 해야하나요?

 

</p>

<p><?php</p>

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

<p> </p>

<p>$ca_id = isset($_REQUEST['ca_id']) ? safe_replace_regex($_REQUEST['ca_id'], 'ca_id') : '';</p>

<p>$skin = isset($_REQUEST['skin']) ? safe_replace_regex($_REQUEST['skin'], 'skin') : '';</p>

<p> </p>

<p>// 상품 리스트에서 다른 필드로 정렬을 하려면 아래의 배열 코드에서 해당 필드를 추가하세요.</p>

<p>if( isset($sort) && ! in_array($sort, array('it_name', 'it_sum_qty', 'it_price', 'it_use_avg', 'it_use_cnt', 'it_update_time')) ){</p>

<p>    $sort='';</p>

<p>}</p>

<p> </p>

<p>if (G5_IS_MOBILE) {</p>

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

<p>    return;</p>

<p>}</p>

<p> </p>

<p>$sql = " select * from {$g5['g5_shop_category_table']} where ca_id = '$ca_id' and ca_use = '1'  ";</p>

<p>$ca = sql_fetch($sql);</p>

<p>if (! (isset($ca['ca_id']) && $ca['ca_id']))</p>

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

<p> </p>

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

<p>if(defined('_THEME_PREVIEW_') && _THEME_PREVIEW_ === true) {</p>

<p>    $ca['ca_skin']       = (isset($tconfig['ca_skin']) && $tconfig['ca_skin']) ? $tconfig['ca_skin'] : $ca['ca_skin'];</p>

<p>    $ca['ca_img_width']  = (isset($tconfig['ca_img_width']) && $tconfig['ca_img_width']) ? $tconfig['ca_img_width'] : $ca['ca_img_width'];</p>

<p>    $ca['ca_img_height'] = (isset($tconfig['ca_img_height']) && $tconfig['ca_img_height']) ? $tconfig['ca_img_height'] : $ca['ca_img_height'];</p>

<p>    $ca['ca_list_mod']   = (isset($tconfig['ca_list_mod']) && $tconfig['ca_list_mod']) ? $tconfig['ca_list_mod'] : $ca['ca_list_mod'];</p>

<p>    $ca['ca_list_row']   = (isset($tconfig['ca_list_row']) && $tconfig['ca_list_row']) ? $tconfig['ca_list_row'] : $ca['ca_list_row'];</p>

<p>}</p>

<p> </p>

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

<p>if(!$is_admin && $config['cf_cert_use']) {</p>

<p>    $msg = shop_member_cert_check($ca_id, 'list');</p>

<p>    if($msg)</p>

<p>        alert($msg, G5_SHOP_URL);</p>

<p>}</p>

<p> </p>

<p>$g5['title'] = $ca['ca_name'].' 상품리스트';</p>

<p> </p>

<p>if ($ca['ca_include_head'] && is_include_path_check($ca['ca_include_head']))</p>

<p>    @include_once($ca['ca_include_head']);</p>

<p>else</p>

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

<p> </p>

<p>// 스킨경로</p>

<p>$skin_dir = G5_SHOP_SKIN_PATH;</p>

<p> </p>

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

<p>    if(preg_match('#^theme/(.+)$#', $ca['ca_skin_dir'], $match))</p>

<p>        $skin_dir = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/shop/'.$match[1];</p>

<p>    else</p>

<p>        $skin_dir = G5_PATH.'/'.G5_SKIN_DIR.'/shop/'.$ca['ca_skin_dir'];</p>

<p> </p>

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

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

<p> </p>

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

<p>            $skin_dir = G5_SHOP_SKIN_PATH;</p>

<p>    } else {</p>

<p>        $skin_dir = G5_SHOP_SKIN_PATH;</p>

<p>    }</p>

<p>}</p>

<p> </p>

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

<p>echo '<div>';</p>

<p>$nav_skin = $skin_dir.'/navigation.skin.php';</p>

<p>    if(!is_file($nav_skin))</p>

<p>        $nav_skin = G5_SHOP_SKIN_PATH.'/navigation.skin.php';</p>

<p>    include $nav_skin;</p>

<p>    // 상단 HTML</p>

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

<p> </p>

<p>    $cate_skin = $skin_dir.'/listcategory.skin.php'; // 카테고리 출력부분</p>

<p>    if(!is_file($cate_skin))</p>

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

<p>    include $cate_skin;</p>

<p>//echo '<h1>'.$ca['ca_name'].'</h1>';</p>

<p>?></p>

<p> </p>

<p><!-- 히트상품 시작 { --></p>

<p>    <div class="cat_best"></p>

<p>    <h2>베스트 상품</h2></p>

<p>    <section class="sct_wrap"></p>

<p>            <?php</p>

<p>                           </p>

<p>            //---------------- 여기부터</p>

<p>            $skin_file = G5_SHOP_SKIN_PATH .'/list.10.skin.php'; //스킨명(기존 것을 사용하거나 새로이 만들거나)</p>

<p>            $item_mod = 5; //한줄당 갯수</p>

<p>            $item_rows = 1; //줄 수</p>

<p>            $item_width= 380; //이미지 가로</p>

<p>            $item_height = 380; //이미지 세로</p>

<p>       </p>

<p>            $list = new item_list($skin_file, $item_mod , $item_rows , $item_width, $item_height);</p>

<p>            $list->set_type(2); // 히트상품유형</p>

<p>            //---------- 여기까지</p>

<p>       </p>

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

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

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

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

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

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

<p>            $list->set_view('it_basic', true);</p>

<p>            $list->set_view('it_cust_price', true);</p>

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

<p>            $list->set_view('it_icon', false);</p>

<p>            $list->set_view('sns', false);</p>

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

<p>                ?></p>

<p>    </section></p>

<p></div></p>

<p><!-- } 히트상품 끝 --></p>

<p><?php</p>

<p>if ($is_admin)</p>

<p>    echo '<div class="sct_admin"><a href="'.G5_ADMIN_URL.'/shop_admin/categoryform.php?w=u&amp;ca_id='.$ca_id.'" class="btn_admin btn"><span class="sound_only">분류 관리</span><i class="fa fa-cog fa-spin fa-fw"></i></a></div>';</p>

<p> </p>

<p>    echo '<div id="sct_sortlst"><i class="xi-tune"></i>';</p>

<p> </p>

<p>    //상품 보기 타입 변경 버튼</p>

<p>    $sub_skin = $skin_dir.'/list.sub.skin.php';</p>

<p>    if(!is_file($sub_skin))</p>

<p>        $sub_skin = G5_SHOP_SKIN_PATH.'/list.sub.skin.php';</p>

<p>    include $sub_skin;</p>

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

<p>    if(!is_file($sort_skin))</p>

<p>        $sort_skin = G5_SHOP_SKIN_PATH.'/list.sort.skin.php';</p>

<p>    include $sort_skin;</p>

<p>    echo '</div>';</p>

<p>?></p>

<p> </p>

<p><script></p>

<p>var itemlist_ca_id = "<?php echo $ca_id; ?>";</p>

<p></script></p>

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

<p><?php if($default['de_type1_list_use']) { ?></p>

<p><?php } ?></p>

<p><!-- 상품 목록 시작 { --></p>

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

<p> </p>

<p>    <?php</p>

<p>   </p>

<p> </p>

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

<p>    if ($sort != "")</p>

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

<p>    else</p>

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

<p> </p>

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

<p> </p>

<p>    // 리스트 스킨</p>

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

<p> </p>

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

<p> </p>

<p>        // 총몇개 = 한줄에 몇개 * 몇줄</p>

<p>        $row =</p>

<p>        $items = $ca['ca_list_mod'] * $ca['ca_list_row'];</p>

<p>       </p>

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

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

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

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

<p> </p>

<p>        $list = new item_list($skin_file, $ca['ca_list_mod'], $ca['ca_list_row'], $ca['ca_img_width'], $ca['ca_img_height']);</p>

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

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

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

<p>        $list->set_is_page(true);</p>

<p>        $list->set_order_by($order_by);</p>

<p>        $list->set_from_record($from_record);</p>

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

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

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

<p>        $list->set_view('it_basic', true);</p>

<p>        $list->set_view('it_cust_price', true);</p>

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

<p>        $list->set_view('it_icon', true);</p>

<p>        $list->set_view('sns', true);</p>

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

<p> </p>

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

<p>        $total_count = $list->total_count;</p>

<p>        // 전체 페이지 계산</p>

<p>        $total_page  = ceil($total_count / $items);</p>

<p>    }</p>

<p>    else</p>

<p>    {</p>

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

<p>    }</p>

<p> </p>

<p>    $qstr1 = 'ca_id='.$ca_id;</p>

<p>    $qstr1 .='&amp;sort='.$sort.'&amp;sortodr='.$sortodr;</p>

<p>    echo get_paging($config['cf_write_pages'], $page, $total_page, $_SERVER['SCRIPT_NAME'].'?'.$qstr1.'&amp;page=');</p>

<p> </p>

<p>    // 하단 HTML</p>

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

<p> </p>

<p>?></p>

<p></div></p>

<p><!-- } 상품 목록 끝 --></p>

<p></div></p>

<p><?php</p>

<p>if ($ca['ca_include_tail'] && is_include_path_check($ca['ca_include_tail']))</p>

<p>    @include_once($ca['ca_include_tail']);</p>

<p>else</p>

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

<p> </p>

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

<p> </p>

<p>

 

/shop/list.php

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

답변 1개

채택된 답변
+20 포인트
e
4개월 전

/theme/basic/skin/shop/basic/listcategory.skin.php 파일에 아래 소스를 수정해보세요

</p>

<p>$ca_id_len = strlen($ca_id);</p>

<p>if($ca_id_len==2) {</p>

<p>    $len2 = $ca_id_len + 2;</p>

<p>    $len4 = $ca_id_len + 4;</p>

<p>} else {</p>

<p>    $len2 = $ca_id_len;</p>

<p>    $len4 = $ca_id_len + 2;</p>

<p>}</p>

<p>

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

답변에 대한 댓글 3개

굼떠
4개월 전
답변 감사합니다! 적용해보니 나오기는 하는데 누른 2차 카테고리명? 만 노출이되더라고요. 저는 해당 2차 카테고리 뿐만 아니라 그와 같은 1차에 해당하는 2차 전체카테고리를 출력하고싶은데 가능할까요?
e
eyekiss
4개월 전
$ca_id2 부분 수정해주세요.

[code]
$ca_id_len = strlen($ca_id);
if($ca_id_len==2) {
$len2 = $ca_id_len + 2;
$len4 = $ca_id_len + 4;
$ca_id2 = $ca_id;
} else {
$len2 = $ca_id_len;
$len4 = $ca_id_len + 2;
$ca_id2 = substr($ca_id,0,2);
}

$sql = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_id like '$ca_id2%' and length(ca_id) = $len2 and ca_use = '1' order by ca_order, ca_id ";
$result = sql_query($sql);
while ($row=sql_fetch_array($result)) {
[/code]
굼떠
4개월 전
감사합니다!!

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

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

로그인