gnb 메뉴부분 php 수정 도움부탁드립니다.

gnb 메뉴부분 php 수정 도움부탁드립니다.

QA

gnb 메뉴부분 php 수정 도움부탁드립니다.

답변 1

본문

안녕하세요. 현재 company스킨으로 메뉴부분을 손보고자 하는데, php부분 수정을 하는데 애를 먹어서 도움좀 부탁드리려고 합니다..!!
원본은 대메뉴(gnb_1d) 아래 자식으로 소메뉴(gnb_2d)가 존재하며, 대메뉴에 마우스 오버를 할때 해당 소메뉴들만 드롭다운 형식으로 보여지고 있는데, 풀다운 형식으로 수정하고자 합니다.

 

소스 가장 아래에 만들어 놓은 .lnbWrap 안에 지금처럼 똑같이 소메뉴(gnb_2d)가  ul , li 형식으로 나오도록 하고 싶습니다. 도움 부탁드립니다..!! (_ _)

 


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
?>
<nav id="gnb">
    <h2>메인메뉴</h2>
    <ul id="gnb_1dul">
        <?php
        $gnb_menus = array();
        $sql = " select *
                    from {$g5['menu_table']}
                    where me_use = '1'
                      and length(me_code) = '2'
                    order by me_order, me_id ";
        $result = sql_query($sql, false);
        $gnb_zindex = 999; // gnb_1dli z-index 값 설정용
        for ($i=0; $row=sql_fetch_array($result); $i++) {
        ?>
        <li class="gnb_1dli" style="z-index:<?php echo $gnb_zindex--; ?>">
            <?php
            $submenus = '';
            $sql2 = " select *
                        from {$g5['menu_table']}
                        where me_use = '1'
                          and length(me_code) = '4'
                          and substring(me_code, 1, 2) = '{$row['me_code']}'
                        order by me_order, me_id ";
            $result2 = sql_query($sql2);
            for ($k=0; $row2=sql_fetch_array($result2); $k++) {
                if($k == 0)
                   $submenus .= '<ul class="gnb_2dul">'.PHP_EOL;
                $submenus .= '<li class="gnb_2dli"><a href="'.$row2['me_link'].'" target="_'.$row2['me_target'].'" class="gnb_2da">'.$row2['me_name'].'</a></li>'.PHP_EOL;
            }
            if($k > 0)
                $submenus .= '</ul>'.PHP_EOL;
            if($submenus)
                $gnb_class = 'gnb_1da gnb_bg';
            else
                $gnb_class = 'gnb_1da';
            ?>
            <a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="<?php echo $gnb_class; ?>"><?php echo $row['me_name'] ?></a>
            <?php echo $submenus; ?>
        </li>
        <?php
        }
        if ($i == 0) {  ?>
            <li id="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <br><a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>
        <?php } ?>
    </ul>
    
    <div class="lnbWrap">
        
    
    </div>
    
</nav>

이 질문에 댓글 쓰기 :

답변 1

풀다운이 전체 다 보여주는건가요? 

https://sir.kr/g5_tip/7262 부분을 참조하시거나 

오른쪽 전체메뉴 

 

전체 를 보여주시려면 

 

    <nav id="gnb">
        <h2>메인메뉴</h2>
        <ul id="gnb_1dul">
            <?php
            $sql = " select *
                        from {$g5['menu_table']}
                        where me_use = '1'
                          and length(me_code) = '2'
                        order by me_order, me_id ";
            $result = sql_query($sql, false);
            $gnb_zindex = 999; // gnb_1dli z-index 값 설정용
            
            ?>
            <li class="gnb_1dli" style="z-index:<?php echo $gnb_zindex--; ?>">
            <?
            for ($i=0; $row=sql_fetch_array($result); $i++) {
                $str2.="<a href=".$row['me_link']." target='_".$row['me_target']."' class='gnb_1da'>".$row['me_name']."</a>"; 
                $sql2 = " select *
                            from {$g5['menu_table']}
                            where me_use = '1'
                              and length(me_code) = '4'
                              and substring(me_code, 1, 2) = '{$row['me_code']}'
                            order by me_order, me_id ";
                $result2 = sql_query($sql2);

                for ($k=0; $row2=sql_fetch_array($result2); $k++) {
                    if($k == 0){
                        $str3.="<ul class='gnb_2dul2'>".PHP_EOL;
                    }
                    $str3.='<li class="gnb_2dli2">';
                    if($k==0){
                        $str3.='<a href="'.$row['me_link'].'" target="_'.$row['me_target'].'" class="gnb_2da" style="font-weight:bold;">'.$row['me_name'].'</a>';
                    }
                    $str3.='<a href="'.$row2['me_link'].'" target="_'.$row2['me_target'].'" class="gnb_2da">'.$row2['me_name'].'</a></li>'; 
                }

                if($k > 0)
                    $str3.= '</ul>'.PHP_EOL;
                ?>
            <?php
            }
            echo $str2;
            echo "<ul class='gnb_2dul'><li class='gnb_2dli'>
                    {$str3}
            </li></ul>"
            ?>
            <?
            if ($i == 0) {  ?>
                <li id="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <br><a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>
            <?php } ?>
        </ul>

        <div class="lnbWrap">
        </div>


    </nav>
</div>
<!-- } 상단 끝 -->
<style>
.gnb_2dul {width:100%;}

.gnb_1dli {width:100%;}
.gnb_1dli:hover{background:url('../img/gnb_bg00.gif')  #333 center center repeat;}

.gnb_2dli{background-color:#333;padding-top:20px;padding-bottom:20px;}
.gnb_2dli:after {content:""; display:block; clear:both;}
.gnb_2dli ul{float:left;width:150px;}

</style>
<hr>

 

 

 

 

 

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