테스트 사이트 - 개발 중인 베타 버전입니다

너무 어렵네요 무엇이 문제일까요? 고칠수 있을까요..ㅠㅠ 채택완료

망고씌 7년 전 조회 1,825

<!-- 좌측네비 시작 { -->

<script type="text/javascript">

function display_submenu(num) {

    document.getElementById("mysub"+num).style.display="block";

}

</script>

<style>

#myasidemenu  {margin:0;background:#fff;position:relative;}

#myasidemenu ul {list-style:none; margin:0; padding:0;}

#myasidemenu li { margin: 0; list-style: none;}

#myasidemenu li.leftmenu_b {line-height:40px; margin-top:0px; padding:5px 0 5px 0; text-align:center; font-size:1.2em; font-weight:bold; background:#34495E; }

#myasidemenu li.leftmenu_b a{ color:#fff; }

#myasidemenu li.leftmenu_s {line-height:34px; margin-bottom:0px; padding-left:15px; border-left:1px solid #ccc; border-right:1px solid #ccc; border-bottom:1px solid #ccc; font-size:1.2em; background:#fff; }

#myasidemenu li.leftmenu_s:hover { background:#e1e1e1; }

#myasidemenu li.leftmenu_s_on {line-height:34px; margin-bottom:0px; padding-left:15px; border-left:1px solid #307ca0; border-right:1px solid #307ca0;  border-bottom:1px solid #ccc; font-size:1.2em; background:#307ca0; }

#myasidemenu li.leftmenu_s_on a{ color:#fff;}

#myasidemenu li.leftmenu_s a:focus, #myasidemenu li.leftmenu_s a:hover { color:#307ca0;}

</style>

<script>

$(document).ready(function() {

    $("#myasidemenu a").on("click", function(e){ //링크 클릭시

        var $data_midtxt = $(this).attr("data-midtxt");

        if( $data_midtxt ){

            $.cookie('sub_midtxt', $data_midtxt, { path: '/' });

        } else {

            $.cookie('sub_midtxt', null, { path: '/' });

        }

    });

});

</script>

<div id="myasidemenu">

<?php

    $sql_asidemenu = " select *  from ".$g5['menu_table']."

    where me_use = '1'

    and length(me_code) = '2'

    order by me_order, me_id ";

    $result_asidemenu = sql_query($sql_asidemenu, false);

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

<p>    for ($i=0; $row_asidemenu=sql_fetch_array($result_asidemenu); $i++) {

        ?>

        <ul id="mysub<?php echo $i ?>" style="display:none;">

            <li class="leftmenu_b"> <a href="<?php echo $row_asidemenu['me_link']; ?>" target="_<?php echo $row_asidemenu['me_target']; ?>"><?php echo $row_asidemenu['me_name']; ?></a></li>

        

            <?php

            $sql_asidemenu2 = " select * from ".$g5['menu_table']."

            where me_use = '1'

            and length(me_code) = '4'

            and substring(me_code, 1, 2) = '".$row_asidemenu['me_code']."'

            order by me_order, me_id ";

            $result_asidemenu2 = sql_query($sql_asidemenu2);

            

            //좌측 서브메뉴 전체 리스트에서 현재 페이지에 해당하는 대메뉴 리스트만 보여줌

            if ( ($row_asidemenu['me_name']==$board['bo_subject'])||($row_asidemenu['me_name']==$g5['title']) ) {

            //if(strpos($row_asidemenu['me_link'], $_GET['bo_table']) !== false) {

                echo ("<script language='javascript'> display_submenu(" .$i. " ); </script> ");

            }

            

            for ($k=0; $row_asidemenu2=sql_fetch_array($result_asidemenu2); $k++) {

                if($k == 0) {

                    echo '<ul>'.PHP_EOL;

                }

                ?>

                <li class="leftmenu_s<?php if (($row_asidemenu2['me_name']==$board['bo_subject'])||($row_asidemenu2['me_name']==$g5['title'])) { echo "_on"; } ?>"<?php

                    if ($row_asidemenu2['me_link']) {

                        $me_link0 = explode("=",$row_asidemenu2['me_link']);

                        //if ( ($me_link0[1]==$board['bo_table'])||($me_link0[1]==$co_id) ) {

                        if(strpos($row_asidemenu2['me_link'], $_GET['bo_table']) !== false) {

                            echo " style='background-color:;'";

                        }

                    } else {    

                        //if ( ($row_asidemenu2['me_name']==$board['bo_subject'])||($row_asidemenu2['me_name']==$g5['title']) ) {

                        if ( strpos($row_asidemenu2['me_link'], $_GET['bo_table']) !== false ) {

                            echo " style='background-color:;'";

                        }

                    }

                    ?>><a href="<?php echo $row_asidemenu2['me_link']; ?>" target="_<?php echo $row_asidemenu2['me_target']; ?>"><?php echo $row_asidemenu2['me_name']; ?></a>

                </li>

                <?php

        

                //좌측 서브메뉴 전체 리스트에서 현재 페이지에 해당하는 대메뉴 리스트만 보여줌

                if ($row_asidemenu2['me_link']) {

                    $me_link0 = explode("=",$row_asidemenu2['me_link']);

                    //if ( ($me_link0[1]==$board['bo_table'])||($me_link0[1]==$co_id) ) {

                    if(strpos($row_asidemenu2['me_link'], $_GET['bo_table']) !== false) {

                        echo ("<script language='javascript'> display_submenu(" .$i. " ); </script> ");

                    }

                } else {    

                    //if ( ($row_asidemenu2['me_name']==$board['bo_subject'])||($row_asidemenu2['me_name']==$g5['title']) ) {

                    if(strpos($row_asidemenu2['me_link'], $_GET['bo_table']) !== false) {

                        echo ("<script language='javascript'> display_submenu(" .$i. " ); </script> ");

                    }

                }

            }

            

            if($k > 0) {

                echo '</ul>'.PHP_EOL;

            }

            ?>

        </ul>

        <?php

    }

    

    // 인트라넷 자료추출

    if ($bo_table=="보드1" || $bo_table=="보드2" || $bo_table=="보드3" || $bo_table=="보드4") {

    ?>

    <ul id="mysub99">  

        <li class="leftmenu_b"> <a href="<?php echo G5_BBS_URL; ?>/board.php?bo_table=보드1" target="_self">인트라넷</a></li>

        <ul>

            <li class="leftmenu_s<?php if ($bo_table=="보드1") echo "_on"; ?>"><a href="<?php echo G5_BBS_URL; ?>/board.php?bo_table=보드1" target="_self">보드1</a> </li>

            <li class="leftmenu_s<?php if ($bo_table=="보드2") echo "_on"; ?>"><a href="<?php echo G5_BBS_URL; ?>/board.php?bo_table=보드2" target="_self">보드2</a> </li>

            <li class="leftmenu_s<?php if ($bo_table=="보드3") echo "_on"; ?>"><a href="<?php echo G5_BBS_URL; ?>/board.php?bo_table=보드3" target="_self">보드3</a> </li>

            <li class="leftmenu_s<?php if ($bo_table=="보드4") echo "_on"; ?>"><a href="<?php echo G5_BBS_URL; ?>/board.php?bo_table=보드4" target="_self">보드3</a> </li>

        </ul>

    </ul>

    <?php

    }

    ?>

</div></p>

<p>

 

우측이나 좌측에 현재 접근한 메뉴를 표시하는 코드입니다. 근데 사용해보니 문제점이 두개있습니다.

 

문제점1. 메뉴설정에서 적은 메뉴이름과 게시판이름이 완전 같지 않으면 현재 메뉴로 표시해주지 않는것같습니다.

 

 


문제점2. 다른 메뉴 그룹에 있는 두 게시판 id가 wow_qa 그리고 ow_qa라면 한쪽에서 메뉴에서 두개 메뉴가 연달아 나옵니다. 아마 게시판 id에 '_'가 포함되면 '_' 이전의 글자는 인식되지 않고 그 뒤부터 읽는것같습니다.

 

고칠수있을까요? 아니면 다른코드를 찾아봐야..ㅠㅠ
 

...

...

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

e
7년 전

1. 메뉴명이 정확히 일치하지 않으면, 비슷하면 되나요?

게시판명을 기준으로 메뉴명에 포함으로 가능한데,

그럼 2가지가 검색될 문제가 발생합니다.

</p>

<p>//좌측 서브메뉴 전체 리스트에서 현재 페이지에 해당하는 대메뉴 리스트만 보여줌</p>

<p>if ( (strpos($row_asidemenu['me_name'],$board['bo_subject'])!==false) ||(strpost($row_asidemenu['me_name'],$g5['title'])!==false) ) {</p>

<p>

 

2. 게시판코드 뒷부분이 비슷하면 이렇게 수정해도 어떨수 없음

</p>

<p>if(strpos($row_asidemenu2['me_link'], 'bo table='.$_GET['bo_table']) !== false) {</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

망고씌
7년 전
그렇네요 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인