GNB active 문의

GNB active 문의

QA

GNB active 문의

본문

안녕하세요.

 

https://sir.kr/g5_tip/7299

팁게시판의 현재위치 색넣기를 적용하고 잇습니다.

 


$menu_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$menu = sql_fetch(" select * from {$g5['menu_table']} where me_use = '1' and me_link = '$menu_url' ");
$me_code = substr($menu['me_code'],0,2);
$sql = " select * from {$g5['menu_table']} where me_use = '1' and me_code = '$me_code' ";
$result = sql_query($sql, false);
for ($i=0; $row=sql_fetch_array($result); $i++){$txt = $row['me_name'];$txtx = $row['me_link'];}
$sql2 = " select * from {$g5['menu_table']} where me_use = '1' and substring(me_code, 1, 2) = '$me_code' order by me_order, me_id ";$result2 = sql_query($sql2);
for ($m=0; $row2=sql_fetch_array($result2); $m++){if($row2['me_link'] == $menu_url) $txt2 = $row2['me_name'];$txty = $row2['me_link'];}
if(strpos(G5_URL.$_SERVER['REQUEST_URI'], '=') != '') $s20 = '=';else $s20 = '/';

 


            <nav id="gnb">
                <h2>메인메뉴</h2>
                <div class="gnb_wrap">
                    <ul id="gnb_1dul">
                        <li class="gnb_1dli gnb_mnal"><button type="button" class="gnb_menu_btn" title="전체메뉴">전체메뉴 <i class="fa fa-bars" aria-hidden="true"></i><span class="sound_only">전체메뉴열기</span></button></li>
                        <?php
                        $menu_datas = get_menu_db(0, true);
                        $gnb_zindex = 999; // gnb_1dli z-index 값 설정용
                        $i = 0;
                        foreach( $menu_datas as $row ){
                            if( empty($row) ) continue;
                            if($member['mb_level'] < $row['me_level']) continue;
                            $add_class = (isset($row['sub']) && $row['sub']) ? 'gnb_al_li_plus' : '';
                        ?>
                        <li class="gnb_1dli <?php echo $add_class; ?>" style="z-index:<?php echo $gnb_zindex--; ?>">
                        <a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_1da <?php if($txt == $row['me_name']||strpos(end(explode($s20, G5_BBS_URL.'/board.php?bo_table='.$bo_table)),end(explode($s20, $row['me_link']))) !== false||end(explode($s20, $row['me_link']))==$co_id||end(explode('=', $row['me_link']))==$go_url){$txtx = $row['me_link'];$txt = $row['me_name'];?>on<?php }?>"><?php echo $row['me_name']; ?></a>
                            <?php
                            $k = 0;
                            foreach( (array) $row['sub'] as $row2 ){
                                if( empty($row2) ) continue;
                                if($member['mb_level'] < $row2['me_level']) continue;
                                if($k == 0)
                                    echo '<span class="bg"></span><div class="gnb_2dul"><ul class="gnb_2dul_box">'.PHP_EOL;
                            ?>
                            <li class="gnb_2dli"><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" class="gnb_2da"><?php echo $row2['me_name']; ?></a></li>
                            <?php
                            $k++;
                            }   //end foreach $row2
                            if($k > 0)
                                echo '</ul></div>'.PHP_EOL;
                            ?>
                        </li>
                        <?php
                        $i++;
                        }   //end foreach $row
                        if ($i == 0) {  ?>
                            <li class="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>
                        <?php } ?>
                    </ul>
                    <div id="gnb_all">
                        <h2>전체메뉴</h2>
                        <ul class="gnb_al_ul">
                            <?php
                            
                            $i = 0;
                            foreach( $menu_datas as $row ){
                            ?>
                            <li class="gnb_al_li">
                                <a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_al_a"><?php echo $row['me_name'] ?></a>
                                <?php
                                $k = 0;
                                foreach( (array) $row['sub'] as $row2 ){
                                    if($k == 0)
                                        echo '<ul>'.PHP_EOL;
                                ?>
                                    <li><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>"><?php echo $row2['me_name'] ?></a></li>
                                <?php
                                $k++;
                                }   //end foreach $row2
                                if($k > 0)
                                    echo '</ul>'.PHP_EOL;
                                ?>
                            </li>
                            <?php
                            $i++;
                            }   //end foreach $row
                            if ($i == 0) {  ?>
                                <li class="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <br><a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>
                            <?php } ?>
                        </ul>
                        <button type="button" class="gnb_close_btn"><i class="fa fa-times" aria-hidden="true"></i></button>
                    </div>
                    <div id="gnb_all_bg"></div>
                </div>
            </nav>

 

이렇게 넣어서 잘 사용중인데

 

문제는..

대메뉴1의 하위메뉴가

 

서브메뉴1

서브메뉴2

서브메뉴3

 

이렇게 있으면

서브메뉴1 에 있을때만 active가 먹히고

서브메뉴2, 서브메뉴3에 가면 active가 풀려버립니다.

 

phpmyadmin 에서 확인해보면

10

1010

1020

 

여기서 최상단 10에만 active 가 먹히는거 같습니다.

 

하위 메뉴클릭시에도 대메뉴에 active가 활성화 될 수 있는 방법이 있을까요.

 

이 질문에 댓글 쓰기 :

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

회원로그인

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