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

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

QA

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

본문


<!-- 좌측네비 시작 { -->
<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 값 설정용
    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>

 

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

 

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

833092377_1528290638.7917.png

 

 


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

833092377_1528290342.9307.png

 

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

...

 

...

이 질문에 댓글 쓰기 :

답변 1

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

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

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


//좌측 서브메뉴 전체 리스트에서 현재 페이지에 해당하는 대메뉴 리스트만 보여줌
if ( (strpos($row_asidemenu['me_name'],$board['bo_subject'])!==false) ||(strpost($row_asidemenu['me_name'],$g5['title'])!==false) ) {

 

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


if(strpos($row_asidemenu2['me_link'], 'bo table='.$_GET['bo_table']) !== false) {
답변을 작성하시기 전에 로그인 해주세요.
전체 50
QA 내용 검색

회원로그인

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