Redshop 영카트 테마 3단 분류 문의

Redshop 영카트 테마 3단 분류 문의

QA

Redshop 영카트 테마 3단 분류 문의

본문

현재 Redshop 영카트 테마 왼쪽 상단메뉴가 2단 분류 까지만 되어 있어서

3단 분류로 추가를 하고자 합니다.

 

2단 분류에 마우스 커서를 올리면 3단 분류까지 나오도록 구현은 하였으나

3단 분류 창 우측에 배너를 2단 분류에 따라 나오도록 하려고 하니 문제가 발생하는군요.

 

2단 분류 어느것에 마우스커서를 갖다 대어도 가장 마지막에 등록한 배너가 나옵니다.

(기존 테마관리의 maincategory 관련 파일들을 하나씩 복사해서 subcategory 파일들을 생성해서 추가로

배너를 등록하도록 하였습니다.)

 

제가 원하는것은 2단 분류에 따라 /www/gnu/data/cache/theme/redshop/subcategory.php 파일에 

생성된 이미지 경로를 인식할수 있도록 하는것입니다.

 

어떤 부분을 수정해야 정상 작동을 할까요?

 

작업진행중인 사이트

http://www.mnweb.co.kr/gnu/ 

 

 

분류 출력 파일

/www/gnu/theme/redshop/skin/shop/basic/boxcategory.skin.php 

 

<?php

if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

 

// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨

add_stylesheet('<link rel="stylesheet" href="'.G5_SHOP_SKIN_URL.'/style.css">', 0);

 

$save_file = G5_DATA_PATH.'/cache/theme/redshop/maincategory.php';

if(is_file($save_file))

    include($save_file);

 

if(!empty($maincategory)) {

?>

 

<nav id="gnb">

    <h2>쇼핑몰 카테고리</h2>

    <ul id="gnb_1dul">

        <?php

        $gnb_zindex = 999; // gnb_1dli z-index 값 설정용

        foreach($maincategory as $key=>$val)

        {

            $sql = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_id = '$key' and ca_use = '1' ";

            $row = sql_fetch($sql);

            if(!$row['ca_id'])

                continue;

            // 2단계 분류 판매 가능한 것만

            $sql2 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where LENGTH(ca_id) = '4' and SUBSTRING(ca_id,1,2) = '{$row['ca_id']}' and ca_use = '1' order by ca_order, ca_id ";

            $result2 = sql_query($sql2);

            $count = sql_num_rows($result2);

        ?>

        <li class="gnb_1dli" style="z-index:<?php echo $gnb_zindex; ?>">

            <a href="<?php echo G5_SHOP_URL.'/list.php?ca_id='.$key; ?>" class="gnb_1da<?php if ($count) echo ' gnb_1dam'; ?>"><?php echo $row['ca_name']; ?></a> <!-- 1차 분류 출력 -->

            <?php

            for($j=0; $row2=sql_fetch_array($result2); $j++) {

                if ($j == 0) echo '<div class="gnb_2dul gnb_2dli" style="z-index:'.$gnb_zindex.'"><div class="gnb_2dul_left"><strong class="gnb_2ul_tit">'.$row['ca_name'].'</strong><ul>';

            ?>

                <li class="gnb_2dli" style="z-index:<?php echo $gnb_zindex; ?>">

    <a href="<?php echo G5_SHOP_URL; ?>/list.php?ca_id=<?php echo $row2['ca_id']; ?>" class="gnb_2da"><?php echo $row2['ca_name']; ?></a> <!-- 2차 분류 출력 -->

 

<?php

        $save_file = G5_DATA_PATH.'/cache/theme/redshop/subcategory.php';

        if(is_file($save_file))

            include($save_file);

 

        if(!empty($subcategory)) {

        ?>

 

<?php

foreach($subcategory as $key=>$val1)

       {

// 3단계 분류 판매 가능한 것만

$sql3 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where LENGTH(ca_id) = '6' and SUBSTRING(ca_id,1,4) = '{$row2['ca_id']}' and ca_use = '1' order by ca_order, ca_id ";

$result3 = sql_query($sql3);

 

            for($j=0; $row3=sql_fetch_array($result3); $j++) {

                if ($j == 0) echo '<div class="gnb_3dul gnb_3dli" style="z-index:'.$gnb_zindex.'"><div class="gnb_3dul_left"><strong class="gnb_3ul_tit">'.$row2['ca_name'].'</strong><ul>';

            ?>

                <li class="gnb_3dli" style="z-index:<?php echo $gnb_zindex; ?>">

    <a href="<?php echo G5_SHOP_URL; ?>/list.php?ca_id=<?php echo $row3['ca_id']; ?>" class="gnb_3da"><?php echo $row3['ca_name']; ?></a> <!-- 3차 분류 출력 -->

</li> 

            <?php

 

            }

 

            if ($j > 0) {

                echo '</ul></div>';

                if($val1['file'] && is_file($val1['file'])) {

                    echo '<div class="gnb_3dul_right">';

                    if($val1['link'])

                        echo '<a href="'.$val1['link'].'">';

                    echo '<img src="'.str_replace(G5_DATA_PATH, G5_DATA_URL, $val1['file']).'" alt>';

                    if($val1['link'])

                        echo '</a>';

                    echo '</div>';

                }

                echo '</div>';

            }

            ?>

 

<?php

}

?>

 

</li>

<?php

}

?>

            <?php

            }

 

            if ($j > 0) {

                echo '</ul></div>';

                if($val['file'] && is_file($val['file'])) {

                    echo '<div class="gnb_2dul_right">';

                    if($val['link'])

                        echo '<a href="'.$val['link'].'">';

                    echo '<img src="'.str_replace(G5_DATA_PATH, G5_DATA_URL, $val['file']).'" alt>';

                    if($val['link'])

                        echo '</a>';

                    echo '</div>';

                }

                echo '</div>';

            }

            ?>

        </li>

        <?php

            $gnb_zindex--; // html 구조에서 앞선 gnb_1dli 에 더 높은 z-index 값 부여

        }

        ?>

    </ul>

</nav>

 

<?php

}

?>

 

분류 출력 파일에 연결된 css 파일

/www/gnu/theme/redshop/skin/shop/basic/style.css 

 

/* aside:gnb */

#gnb{background:#42495c;height:350px;width:155px;float:left}

#gnb h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}

#gnb .gnb_1dli {word-wrap: break-word;}

#gnb .gnb_1dli_on {color:#fff;text-decoration:none}

#gnb .gnb_1da {display:block;padding:0 10px;height:35px;line-height:35px;font-weight:bold;text-decoration:none;color:#fff;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;}

#gnb .gnb_1da:hover{background:#283045}

#gnb .gnb_1dli_on .gnb_1dam {background:url('img/gnb_bg.gif') #283045 center right no-repeat;color:#fff;text-decoration:none}

#gnb .gnb_2dul {display:none;z-index:1000;position:absolute;border:1px solid #787f89;width:615px;height:348px;}

#gnb .gnb_1dli_over .gnb_2dul,#gnb  .gnb_1dli_over2 .gnb_2dul {display:block;top:0;left:155px;background:#fff}

#gnb .gnb_2da {display:none}

#gnb .gnb_1dli_over .gnb_2da {display:block;padding:5px 0;font-size:0.92em;color:#6d6d6d}

#gnb .gnb_1dli_over .gnb_2da:hover{color:#c92033}

#gnb  .gnb_2ul_tit{color:#000}

.gnb_2dul_left{float:left;width:140px;padding:15px;}

.gnb_2dul_right{float:left;width:242px;border-left:1px solid #ddd;padding:13px 15px;}

.gnb_2dul_left .gnb_2ul_tit{border-bottom:1px solid #bfbfbf;display:block;padding-bottom:10px;}

.gnb_2dul_left ul{padding:5px 0}

 

 

#gnb .gnb_3dul {display:none;z-index:1000;position:absolute;border:1px solid #787f89;height:348px;}

#gnb .gnb_1dli_over li:hover .gnb_3dul,#gnb .gnb_1dli_over2 li:hover .gnb_3dul {display:block;top:0;left:150px;background:#fff}

#gnb .gnb_3da {display:none}

#gnb .gnb_3da {display:block;padding:5px 0;font-size:0.92em;color:#6d6d6d}

#gnb .gnb_3da:hover{color:#c92033}

#gnb  .gnb_3ul_tit{color:#000}

.gnb_3dul_left{float:left;width:140px;padding:15px;}

.gnb_3dul_right{float:left;width:242px;border-left:1px solid #ddd;padding:13px 15px;}

.gnb_3dul_left .gnb_3ul_tit{border-bottom:1px solid #bfbfbf;display:block;padding-bottom:10px;}

.gnb_3dul_left ul{padding:5px 0}


이 질문에 댓글 쓰기 :

답변 1

저도 3단 카테고리 만든적이 있었습니다.

소스 공개 합니다.~

 


<!-- 쇼핑몰 카테고리 시작 { -->
<nav id="gnb">
    <h2>쇼핑몰 카테고리</h2>
    <ul id="gnb_1dul">
        <?php
        // 1단계 분류 판매 가능한 것만
        $hsql = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where length(ca_id) = '2' and ca_use = '1' order by ca_order, ca_id ";
        $hresult = sql_query($hsql);
        $gnb_zindex = 999; // gnb_1dli z-index 값 설정용
        for ($i=0; $row=sql_fetch_array($hresult); $i++)
        {
            $gnb_zindex -= 1; // html 구조에서 앞선 gnb_1dli 에 더 높은 z-index 값 부여
            // 2단계 분류 판매 가능한 것만
            $sql2 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where LENGTH(ca_id) = '4' and SUBSTRING(ca_id,1,2) = '{$row['ca_id']}' and ca_use = '1' order by ca_order, ca_id ";
            $result2 = sql_query($sql2);
            $count2 = mysql_num_rows($result2);
        ?>
        <li class="gnb_1dli" style="z-index:<?php echo $gnb_zindex; ?>">
            <a href="<?php echo G5_SHOP_URL.'/list.php?ca_id='.$row['ca_id']; ?>" class="gnb_1da<?php if ($count2) echo ' gnb_1dam'; ?>"><span class="white"><?php echo $row['ca_name']; ?></span></a>
            <?php
            for ($j=0; $row2=sql_fetch_array($result2); $j++)
            {
                $gnb_zindex -= 1; // html 구조에서 앞선 gnb_2dli 에 더 높은 z-index 값 부여
                // 3단계 분류 판매 가능한 것만
                $sql3 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where LENGTH(ca_id) = '6' and SUBSTRING(ca_id,1,4) = '{$row2['ca_id']}' and ca_use = '1' order by ca_order, ca_id ";
                //echo $sql3;
                $result3 = sql_query($sql3);
                $count3 = mysql_num_rows($result3);
                if ($j==0) echo '<ul class="gnb_2dul" style="z-index:'.$gnb_zindex.'">';
            ?>
                <li class="gnb_2dli">
                    <a href="<?php echo G5_SHOP_URL.'/list.php?ca_id='.$row2['ca_id']; ?>" class="gnb_2da<?php if ($count3) echo ' gnb_2dam'; ?>"><?php echo $row2['ca_name']; ?></a>
                    <?php
                    for ($k=0; $row3=sql_fetch_array($result3); $k++)
                    {
                        if ($k==0) echo '<ul class="gnb_3dul" style="z-index:'.$gnb_zindex.'">';
                    ?>
                    <li class="gnb_3dli">
                        <a href="<?php echo G5_SHOP_URL; ?>/list.php?ca_id=<?php echo $row3['ca_id']; ?>" class="gnb_3da"><?php echo $row3['ca_name']; ?></a>
                    </li>
                    <?
                    }
                    if ($k>0) echo '</ul>';
                    ?>
                </li>
            <?php }
            if ($j>0) echo '</ul>';
            ?>
        </li>
        <?php } ?>
    </ul>
</nav>
<!-- } 쇼핑몰 카테고리 끝 -->

 

답변을 작성하시기 전에 로그인 해주세요.
전체 21
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT