1차분류>하위 2차분류 노출방법 문의 올립니다.

1차분류>하위 2차분류 노출방법 문의 올립니다.

QA

1차분류>하위 2차분류 노출방법 문의 올립니다.

답변 2

본문

고수님들의 도움 요청드립니다.

http://kmall365.net/shop

위의 페이지에서

1차분류 의류> 하위분류로 바지.티.양복.기타....가 있다고 예를 들면 

1차분류 의류를 클릭하면 > 하위 2차분류 > 바지.티.양복.기타....가 보여지게 하고 싶습니다.

어떻게 수정하면 가능할까요?

고수님들의 가르침 부탁드립니다.

 

988181774_1588086330.3329.png

관리자페이지에서의 분류관리에서는 아래 그림처럼 하위분류가 있습니다.

의류>바지

988181774_1588086762.8253.png

 

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

function get_mshop_category($ca_id, $len)
{
    global $g5;

    $sql = " select ca_id, ca_name from {$g5['g5_shop_category_table']}
                where ca_use = '1' ";
    if($ca_id)
        $sql .= " and ca_id like '$ca_id%' ";
    $sql .= " and length(ca_id) = '$len' order by ca_order, ca_id ";

    return $sql;
}
?>
<div class="box tab_type" id="cate_menu">
    <ul>
        <?php
        if($ca_id == '') $class = 'class="on"';
        else $class = '';

        $mshop_ca_href = G5_SHOP_URL.'/index.php?ca_id=';
        $mshop_ca_res1 = sql_query(get_mshop_category('', 2));


        echo "<li><a href={$mshop_ca_href}{$mshop_ca_row1['ca_id']}#cate_menu {$class} > 전체분류 </a><li";
        for($i=0; $mshop_ca_row1=sql_fetch_array($mshop_ca_res1); $i++) {
            if($i == 0)
                echo '<ul >'.PHP_EOL;
            $class = ( trim($mshop_ca_row1['ca_id']) == trim($ca_id) )? 'class="on"': '';
        ?>
            <li >
                <a href="<?php echo $mshop_ca_href.$mshop_ca_row1['ca_id'];?>#cate_menu" <?=$class?>><?php echo get_text($mshop_ca_row1['ca_name']); ?></a>
            </li>
        <?php
        }

        if($i > 0)
            echo '</ul>'.PHP_EOL;
        else
            echo '<p class="no-cate">등록된 분류가 없습니다.</p>'.PHP_EOL;
        ?>
    </ul>
</div>

이 질문에 댓글 쓰기 :

답변 2

동일한 위치에 변경되서 나오는 거라면..

        <?php
        if($ca_id == '') $class = 'class="on"';
        else $class = '';

        $mshop_ca_href = G5_SHOP_URL.'/index.php?ca_id=';
        $mshop_ca_res1 = sql_query(get_mshop_category($ca_id, strlen($ca_id)+2);


        echo "<li><a href={$mshop_ca_href}{$mshop_ca_row1['ca_id']}#cate_menu {$class} > 전체분류 </a><li";
        for($i=0; $mshop_ca_row1=sql_fetch_array($mshop_ca_res1); $i++) {
            if($i == 0)
                echo '<ul >'.PHP_EOL;
            $class = ( trim($mshop_ca_row1['ca_id']) == trim($ca_id) )? 'class="on"': '';
        ?>
            <li >
                <a href="<?php echo $mshop_ca_href.$mshop_ca_row1['ca_id'];?>#cate_menu" <?=$class?>><?php echo get_text($mshop_ca_row1['ca_name']); ?></a>
            </li>
        <?php
        }

        if($i > 0)
            echo '</ul>'.PHP_EOL;
        else
            echo '<p class="no-cate">등록된 분류가 없습니다.</p>'.PHP_EOL;
        ?>

클릭했을때 나오게 하는 아래 부분에는 4자리 카테고리를 불러오면 됩니다.

$ca_id 가 2자리 카테고리인 경우..

 

        <?php
        if($ca_id == '') $class = 'class="on"';
        else $class = '';

        $mshop_ca_href = G5_SHOP_URL.'/index.php?ca_id=';
        $mshop_ca_res1 = sql_query(get_mshop_category($ca_id, 4));


        echo "<li><a href={$mshop_ca_href}{$mshop_ca_row1['ca_id']}#cate_menu {$class} > 전체분류 </a><li";
        for($i=0; $mshop_ca_row1=sql_fetch_array($mshop_ca_res1); $i++) {
            if($i == 0)
                echo '<ul >'.PHP_EOL;
            $class = ( trim($mshop_ca_row1['ca_id']) == trim($ca_id) )? 'class="on"': '';
        ?>
            <li >
                <a href="<?php echo $mshop_ca_href.$mshop_ca_row1['ca_id'];?>#cate_menu" <?=$class?>><?php echo get_text($mshop_ca_row1['ca_name']); ?></a>
            </li>
        <?php
        }

        if($i > 0)
            echo '</ul>'.PHP_EOL;
        else
            echo '<p class="no-cate">등록된 분류가 없습니다.</p>'.PHP_EOL;
        ?>

늦은 시간에 이렇게 답변주셔서 정말정말 감사합니다.
알려주신 대로 적용하면 1차분류가 없어지고 바로 2차분류만 보여집니다.
1차분류를 클릭했을때 2차분류가 보여지게 하려면 어떻게 해야하는지 한 번만 더 알려 주시면 안 될까요??ㅠ

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