3차메뉴 작업 시 서브페이지에 nav나오도록

3차메뉴 작업 시 서브페이지에 nav나오도록

QA

3차메뉴 작업 시 서브페이지에 nav나오도록

본문

서브페이지에 메뉴설정에 등록했던 해당 ul이 나오도록 하는거는
하위 코드를 썼었는데
현재 작업중인 홈페이지가 nav 3차까지여서
<script type="text/javascript">
        function display_submenu(num) { 
            document.getElementById("mysub"+num).style.display="block";
        }
        </script>
        <div id="mysubmenu">
        <?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 값 설정용
        $cur_url = G5_URL.$_SERVER['REQUEST_URI']; 

        for ($i=0; $row=sql_fetch_array($result); $i++) {
        ?>
        <ul id="mysub<?php echo $i ?>" style="display:none;">
        <li class="leftmenu_b"><?php echo $row['me_name'] ?></li>
            <?php
            $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);
            
            //좌측 서브메뉴 전체 리스트에서 현재 페이지에 해당하는 대메뉴 리스트만 보여줌
            if ( ($row['me_name']==$board['bo_subject'])||($row['me_name']==$g5['title']) ) {
                echo ("<script language='javascript'> display_submenu(" .$i. " ); </script> ");
            }

            for ($k=0; $row2=sql_fetch_array($result2); $k++) {
                if($k == 0)
                    echo '<ul class="sub_ul">'.PHP_EOL;
                    $li_view2 = $k+1; // #3 각각의 서브 메뉴명을 추가하기위해 설정
            ?>
                <li class="leftmenu_s <?php echo 'gnb_2dli_'.$li_view2; ?> <?php echo ($row2['me_link']==$cur_url)?'active':''; ?>"><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" ><?php echo $row2['me_name'] ?></a></li>
            <?php  

                //좌측 서브메뉴 전체 리스트에서 현재 페이지에 해당하는 대메뉴 리스트만 보여줌
                if ( ($row2['me_name']==$board['bo_subject'])||($row2['me_name']==$g5['title']) ) {
                    echo ("<script language='javascript'> display_submenu(" .$i. " ); </script> ");
                }
            }
            if($k > 0)
                echo '</ul>'.PHP_EOL;
            ?>
        </ul>
        <?php } ?>
    </div>
    <?php } ?>

를 썼더니 먹히지를 않습니다. 
개발자도구에서 아예 #mysubmenu 태그만 생성되고 li는 나타나지를 않습니다ㅠ

981160030_1622437084.6752.png
3차메뉴는 하위 코드를 썼습니다.
아무리 응용하려고해도 코드를 어떻게 수정할지 도저히 모르겠네요


                <ul id="gnb_1dul">
                    <?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;
                        $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 echo $row['me_name'] ?></a>
                        <?php
                        $k = 0;
                        foreach( (array) $row['sub'] as $row2 ){

                            if( empty($row2) ) continue; 

                            if($k == 0)
                                echo '<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>
                                <?php 
                                $j = 0;
                                foreach( (array) $row2['sub'] as $row3 ){
                                        
                                    if( empty($row3) ) {
                                        continue; 
                                    }
            
                                    if($j == 0)
                                        echo '<span class="bg">하위분류</span><div class="gnb_3dul"><ul class="gnb_3dul_box">'.PHP_EOL;
                                    ?>
                                            <li class="gnb_3dli"><a href="<?php echo $row3['me_link']; ?>" target="_<?php echo $row3['me_target']; ?>" class="gnb_3da"><?php echo $row3['me_name'] ?></a></li>
                                    <?php
                                        $j++;
                                }   //end foreach $row3
                                
                                if($j > 0)
                                    echo '</ul>'.PHP_EOL;
                                ?>
                            </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>

 

 

 

981160030_1622437091.095.png

 

981160030_1622437096.3103.png

이 질문에 댓글 쓰기 :

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

회원로그인

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