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

메뉴 코드 수정 채택완료

망고씌 7년 전 조회 3,850

 

상단 메뉴와 더불어 좌측에는 해당메뉴의 소메뉴목록을 출력하는 메뉴를 사용중입니다.

근데 이 좌측메뉴가 게시판연결이 메뉴명으로 구분하는것같습니다.

메뉴설정에서 메뉴명과 게시판 이름이 같을경우 연결이 잘되지만

다를경우 찾질못하고 빈칸으로 출력되버립니다.

이경우에는 어떻게 고쳐야 출력이될까요?

 

</p>

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

<p><script type="text/javascript">

<!--

    function display_submenu(num) {

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

    }

//-->

</script></p>

<p><style TYPE="text/css">

<!--

#mysubmenu ul {list-style:none; font-size:10pt; margin:0 0 10px 0; padding:0;}

#mysubmenu .leftmenu_b {line-height:50px; background-color:#34495E;text-align:center;font-size:11pt;font-weight:bold; color:#fff}

#mysubmenu .leftmenu_s {line-height:35px; padding-left:15px; background-color:#fff;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;}

#mysubmenu a {text-decoration:none;}

#mysubmenu a:hover {color:blue;}

//-->

</style></p>

<p><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 값 설정용</p>

<p>    for ($i=0; $row=sql_fetch_array($result); $i++) {

    ?>

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

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

            <?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> ");

            } else {</p>

<p>            }

    

            for ($k=0; $row2=sql_fetch_array($result2); $k++) {

                if($k == 0)

                    echo '<ul>'.PHP_EOL;

            ?>

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

            <?php  </p>

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

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

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

                } else {</p>

<p>                }</p>

<p>            }</p>

<p>            if($k > 0)

                echo '</ul>'.PHP_EOL;

            ?>

    </ul>

    <?php } ?></p>

<p>

</div></p>

<p> </p>

<p><!-- }좌측네비 끝 --></p>

<p>

 

...

 

...

 

...

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

답변 3개

7년 전

자답이 되었네요

</p>

<p><div id="mysubmenu">

    <?php

    $sql = " select *

                from {$g5['menu_table']}

                where length(me_code) = '2'

                order by me_order, me_id ";

    $result = sql_query($sql, false);

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

<p>    for ($i=0; $row=sql_fetch_array($result); $i++) {

    ?>

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

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

            <?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> ");

            } else {</p>

<p>            }

    

            for ($k=0; $row2=sql_fetch_array($result2); $k++) {

                if($k == 0)

                    echo '<ul>'.PHP_EOL;

            ?>

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

            <?php  </p>

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

                if ($row2['me_link']) {

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

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

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

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

                    }

                } else {    

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

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

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

                    }

                }</p>

<p>            }</p>

<p>            if($k > 0)

                echo '</ul>'.PHP_EOL;

            ?>

    </ul>

    <?php } ?></p>

<p>

</div></p>

<p> </p>

<p>

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

답변에 대한 댓글 1개

망고씌
7년 전
하아 이러면 또 게시판 아이디에 '_'들어가면 구분을 못해버리네요

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

7년 전

해당코드는 그누보드에 원래 있는 코드가 아닌,

테마 제작자 또는 누군가가 필요에 의해 만든 코드입니다.

 

해당코드를 사용한다면, 메뉴명과 게시판명을 일치해주는 것이 좋을 것 같고..

생각하는 규칙성이 달라, 해당 코드를 사용하기 어렵다면, 새로 로직을 짜고 코딩을 해야 됩니다.

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

답변에 대한 댓글 1개

망고씌
7년 전
계속 이거 때문에 소스 찾아 돌아다닙니다 ㅠㅠ
이소스에는 이 문제점만 발견되어 이것만 고치면될것같아서 이걸로 질문해보았습니다 ㅠㅠ

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

T
7년 전

소스 보시면 41번째줄에 게시판 명과 메뉴 명이 같을 경우 출력되도록 되어져 있어요

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

이부분 수정하셔야 하는데

크게 중요한 부분이 아니라면 메뉴명 앞 3글자와 게시판 글 앞 3글자가 동일하면 출력되도록 해도 될것같은데 수정하셔야 될듯해요

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

답변에 대한 댓글 1개

망고씌
7년 전
다른소스에는 me_link 에 bo_table 연결이 되길레 그걸로 고쳐보았으나 무엇이 더필요한지 오류가 뜨더군요 ㅠㅠ

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

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

로그인