관리자 메뉴설정 3차이상등록 순서로정렬(수정본 다시 올립니다) > 그누보드5 팁자료실

그누보드5 팁자료실

관리자 메뉴설정 3차이상등록 순서로정렬(수정본 다시 올립니다) 정보

관리자 메뉴설정 3차이상등록 순서로정렬(수정본 다시 올립니다)

첨부파일

adm.zip (17.8K) 332회 다운로드 2018-07-18 17:48:19
navigation.extend.php (8.4K) 157회 다운로드 2018-07-19 11:05:12

본문

관리자 메뉴설정이 2차까지만 되어있어서 많이들 불편하신분들이 있으셨을 거라 봅니다.

이것 저것 검색해보다가 불편해서 그냥 원본을 수정했습니다.

어차피 관리자니까 업데이트도 별로 없을 테니까요

그래도 백업해두시는건 잊지마세요 기존파일 4개 백업하시고 진행 하세요

 

작성기준은 gnuboard5.3.1.5 버젼입니다.
기존버젼이나 이후 버젼은 어떻게 되는지 모릅니다.
일단 기존파일 4개는 백업을 해두시는게 좋을듯합니다.

 

수정파일 및 적용방법 설명

기존 변경 파일
menu_form.php
menu_form_search.php
menu_list.php
menu_list.update.php

css/admin.css
추가 파일
menu_list.lib.php

백업하셧으면 덮어씌우시면 되고 그래도 따라해보고 싶다 하시는 분들은 하나씩 수정해가면서

해보셔도 될듯합니다.

css는 admin.css 맨하단에 추가해주면 됩니다. 몇줄안되요

많은 부분이 수정된게 아니고 여러분도 간단하게 수정할 수 있는 부분입니다.

 

메뉴의 순서부분에 순서를 넣으면 순서대로 해서 배열을 불러오게 됩니다.

 

그럼 즐그누 ~~~~~~~~

 

Re . 수정본 다시 올립니다. 2018.7.17 제헌절 및 초복

 

메뉴를 어떻게 쓰냐구요?

허허허허허허허허 파일2에 배열저장 파일 추가합니다.

/extend 폴더아래에 넣어주세요

 

사용설명 ------------------------------

관리자 사용법은 이전과 동일

사용자 페이지 불러기

++++++++++++++++++++++++++++++++++++++

상단메뉴

++++++++++++++++++++++++++++++++++++++

/extend 폴더에 navigation.extend.php 파일을 넣었으면 변수 및 함수 지정은 자동으로 되어집니다.

상단메뉴를 불러올 페이지에서 사용합니다.

보통은 head.php 페이지에 넣어서 사용하겠지요


<ul class="group">
                    <?php
                    $bMenu = get_top_navi();
                    for($i=0; $i<$bMenu['cnt']; $i++) {
                        $bM = $bMenu[$i];
                    ?>
                    <li class="menu<?php echo $i+1;?>">
                        <a href="<?php echo $bM['me_link'];?>" target="_<?php echo $bM['me_target'];?>"><span><?php echo $bM['me_name'];?></span></a>
                        <ul class="menuBox group">
                            <?php
                            for($j=0; $j<$bMenu[$i][2]['cnt']; $j++) {
                                $mM = $bMenu[$i][2][$j];
                            ?>
                            <li><a href="<?php echo $mM['me_link'];?>" target="_<?php echo $mM['me_target'];?>" class="depth"><strong><?php echo $mM['me_name'];?></strong></a></li>
                            <?php
                            }
                            ?>
                        </ul>
                    </li>
                    <?php
                    }
                    ?>
                </ul>
이런식으로 하면 대메뉴가 불러와 집니다.

대메뉴의 변수는  $bMenu

1차는 $bMenu[] 안에 들어가 있습니다.

1차에 해당하는 배열을 for문을 이용해서 불러오시면 됩니다.

2차는 $bMenu[][2][] 안에 들어가 있습니다.

$bMenu[][2][] 는 $bMenu[1차메뉴순번][2차시][2차메뉴순번] 으로 해서 저장됨.

3차는 $bMenu[][2][][3][] 안네 들어가 있습니다.

$bMenu[][2][][3][] 는 $bMenu[1차메뉴순번][2차시][2차메뉴순번][3차시][3차메뉴순번]으로 저장 됨.

각각 메뉴마다 차시에 해당하는 녀석이 들어가서 배열이 저장되어 있을 겁니다.

이와 같은 형태로 각각의 차시가 추가 될수록 연속해서 배열이 만들어 지게 작성되었습니다.

 

중단메뉴 즉, 왼쪽, 오른쪽 등등의 메뉴가 되겠지요


<ul class="inner">
<?php $lMenu = get_middle_navi(); ?>
<li class="home"><a href="<?php echo(G5_URL);?>">홈가기</a></li>
        <li>
            <a class="depth01"><?php echo($mMenu['gTitle']);?><em></em></a>
        </li>
        <li>
            <div class="select select--white">
                <span class="placeholder"><?php echo($mMenu['mTitle']);?></span>
                <?php
                if($lMenu['cnt']) {
                ?>
                <ul>
                    <?php
                    for($i=0; $i<$lMenu['cnt']; $i++) {
                        $lm = $lMenu[$i];
                    ?>
                    <li><a href="<?php echo($lm['me_link']);?>"><?php echo($lm['me_name']);?></a></li>
                    <?php } ?>
                </ul>
                <?php } ?>
            </div>
        </li>
</ul>

$mMenu 등은 navigation.extend.php 파일에 있슴.

구조는 상단메뉴와 비슷합니다.

2차메뉴는

$lMenu[]에 들어가 있습니다

3차메뉴는

$lMenu[][3][]에 들어가 있습니다

3차 불러오때도 2차처럼 반복문에 추가하시면 됩니다.

if($lMenu['cnt']) 를 if($lMenu[][3]['cnt']) 와 같은 형태로 바뀌어야 하고

for문이 

for($j=0; $j<$lMenu[$i][3]['cnt']; $j++) {
                        $lm = $lMenu[$i][3][$j];

이런형태로 바뀌면 되겠지요

 

※ RE : 오류가 있었네요

navigation.extend.php 에서 오류 수정.

102010  현재메뉴 일때 상위를 1010의 메뉴를 불러오는 오류를 수정해서 올림

추천
7

댓글 23개

좋으네요 수고 하셌어요.

메뉴추가를 할 때 매번 확인을 눌러야
등록이 됩니다.(모두 추가 후 확인이 되도록 수정좀 해 주세요)
아 그런가요??
음....
일단 다시 수정해서 올립니다.
어제 올린 파일보다는 편하게 되었는데 음 오류 테스트는 얼마 못했네요.
감사합니다. 소고 많으셨네요!

한가지 궁굼해서요
/extend 폴더에 navigation.extend.php 넣었고
css/admin.css 에
나머지는 adm네 넣었는데 관리자에서는 잘되는데

메인에서는 안되여서요 초보라서 ㅡ,.ㅡ;;
안녕하세요?

위 2개 파일 다운받아 기존 파일 덮어 쓰고 navigator에도 php파일 넣었습니다.

메뉴 관리페이지 가니 4차까지 단계 메뉴가 생성 가능한데 실제 페이지 가서 보면 2차 메뉴까지 밖에 안나오는데 본문에 올리신 php code 또한 별도로 head.php에 삽입을 해야 한다는 건가요?

맞다면, 전 그누보드에 기본 들어있는 베이직 테마 사용중인데 위 코드 그대로 붙여 넣으면 될까요? 그리고 헤더 어느 위치에 넣으면 될까요? 초보라 많이 어려우니 친절하신 답변 부탁 드려요..
네 상단메뉴부분에 윗부분에 해당하는 코드를 넣어야하고
사이드메뉴가 있다면 두번째 코드 부분을 넣어주면 됩니다.

코드 형태는
<ul class="group">
<?php
$bMenu = get_top_navi();
for($i=0; $i<$bMenu['cnt']; $i++) {
    $bM = $bMenu[$i]; //1메뉴
?>
    <li class="menu<?php echo $i+1;?>">
        <a href="<?php echo $bM['me_link'];?>" target="_<?php echo $bM['me_target'];?>"><span><?php echo $bM['me_name'];?></span></a>
        <?php if($bMenu[$i][2]['cnt'] > 0) { ?>
        <ul class="menuBox group">
            <?php
            for($j=0; $j<$bMenu[$i][2]['cnt']; $j++) {
                $mM = $bMenu[$i][2][$j]; // 2차메뉴
            ?>
            <li>
                <a href="<?php echo $mM['me_link'];?>" target="_<?php echo $mM['me_target'];?>" class="depth"><strong><?php echo $mM['me_name'];?></strong></a>
                <?php if($bMenu[$i][2][$j][3]['cnt'] >0 ) { ?>
                <ul>
                <?php
                for($k=0; $k<$bMenu[$i][2][$j][3]['cnt']; $k++) {
                    $mM3 = $bMenu[$i][2][$j][3][$k]; // 3차메뉴
                ?>
                    <li>
                        <a href="<?php echo $mM3['me_link'];?>" target="_<?php echo $mM3['me_target'];?>" class="depth"><strong><?php echo $mM3['me_name'];?></strong></a>
                        <?php if($bMenu[$i][2][$j][3][$k][4]['cnt'] >0 ) { ?>
                        <ul>
                        <?php
                        for($l=0; $l<$bMenu[$i][2][$j][3][$k][4]['cnt']; $l++) {
                            $mM4 = $bMenu[$i][2][$j][3][$k]; // 3차메뉴
                        ?>
                            <li>
                                <a href="<?php echo $mM4['me_link'];?>" target="_<?php echo $mM4['me_target'];?>" class="depth"><strong><?php echo $mM4['me_name'];?></strong></a>
                            </li>
                        <?php } ?>
                        </ul>
                        <?php } ?>
                    </li>
                <?php } ?>
                </ul>
                <?php } ?>
            </li>
            <?php } ?>
        </ul>
        <?php } ?>
    </li>
<?php } ?>
</ul>
이런형태가 되지 않나 싶네요.
오류 확인을 안해봐서 정확하지 않으니 확인해보세요
전체 2,411 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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