관리자 메뉴설정 3차이상등록 순서로정렬(수정본 다시 올립니다) 정보
관리자 메뉴설정 3차이상등록 순서로정렬(수정본 다시 올립니다)첨부파일
본문
관리자 메뉴설정이 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네 넣었는데 관리자에서는 잘되는데
메인에서는 안되여서요 초보라서 ㅡ,.ㅡ;;
테마를 쓰고 있어서 테마 head.php에 넣었습니다
예시니까 본인 홈페이지에 맞게 소스 넣으라는 뜻입니다.
초보라서...ㅡ,.ㅡ;;;
위 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>
이런형태가 되지 않나 싶네요.
오류 확인을 안해봐서 정확하지 않으니 확인해보세요
ㅜㅜ
포기 -ㅅ-