스킨 [ g5 ] 관리자 > 메뉴설정 사용자 메뉴 , 상단메뉴 중단메뉴 등 하위메뉴 계속 추가, 2단이상 넣기
작성일 18-10-05 14:50
페이지 정보
작성자 웹지기 조회 1,395회 댓글 0건본문
관리자 메뉴설정이 2차까지만 되어있어서 많이들 불편하신분들이 있으셨을 거라 봅니다.
이것 저것 검색해보다가 불편해서 그냥 원본을 수정했습니다.
어차피 관리자니까 업데이트도 별로 없을 테니까요
그래도 백업해두시는건 잊지마세요 기존파일 4개 백업하시고 진행 하세요
작성기준은 gnuboard5.3.1.5 버젼입니다.
기존버젼이나 이후 버젼은 어떻게 되는지 모릅니다.
일단 기존파일 4개는 백업을 해두시는게 좋을듯합니다.
전체 파일 구성
기존파일
└ adm
└ /menu_form.php
└ /menu_form_search.php
└ /menu_list.php
└ /menu_list.update.php
추가파일(변경 파일)
└ adm
└ /admin.menu100.php
└ /css/admin.menu.css
└ /menu/menu_form.php
└ /menu/menu_form_search.php
└ /menu/menu_list.php
└ /menu/menu_list.update.php
└ /menu/menu_list.lib.php
└ extend
└ navigation.extend.php
└ page
└ sample.php
수정파일 및 적용방법 설명
압축된 파일의 압축을 풀어보면 추가파일처럼 파일이 있습니다.
이중에서 /adm/admin.menu100.php 는 백업을 해두시는게 좋습니다.
그리고 다음파을들 모두 해당 폴더에 맞게 업로드 합니다.
기존경로가 도메인/menu_list.php 였던반면
새로운 메뉴는 도메인/menu/menu_list.php 로 경로가 변경 됩니다.
그럼 즐그누 ~~~~~~~~
Re . 수정본 다시 올립니다. 2018.7.17 제헌절 및 초복
Re . 수정본 다시 올립니다. 2018.10.03 개천절
메뉴를 만들었으면 사용을 해야 겠지요>>>
/extend 폴더 아래의 navigation.extend.php 파일은 메뉴를 배열로 저장해주는 함수입니다.
그리고
page/sample.php 가 메뉴 불러오는 부분입니다.
sapme.php를 참고해서 메뉴를 불러오시면 됩니다.
사용자 페이지애서 사용하기
++++++++++++++++++++++++++++++++++++++
상단메뉴
++++++++++++++++++++++++++++++++++++++
/extend 폴더에 navigation.extend.php 파일을 넣었으면 변수 및 함수 지정은 자동으로 되어집니다.
상단메뉴를 불러올 페이지에서 사용합니다.
보통은 head.php 페이지에 넣어서 사용하겠지요
[code]
<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>
[/code]
이런식으로 하면 대메뉴가 불러와 집니다.
대메뉴의 변수는 $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차메뉴순번]으로 저장 됨.
각각 메뉴마다 차시에 해당하는 녀석이 들어가서 배열이 저장되어 있을 겁니다.
이와 같은 형태로 각각의 차시가 추가 될수록 연속해서 배열이 만들어 지게 작성되었습니다.
중단메뉴 즉, 왼쪽, 오른쪽 등등의 메뉴가 되겠지요
[code]
<ul class="inner">
<?php
//왼쪽, 오른쪽, 중간 메뉴
if(empty($lMenu)) $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];
$sel = "";
if($co_id && $thisMInfo['me_code'] == $lm['me_code'])
$sel = " class='on' ";
if($bo_table && $thisMInfo['me_code'] == $lm['me_code'])
$sel = " class='on' ";
?>
<li><a href="<?php echo($lm['me_link']);?>" <?php echo $sel;?>><?php echo($lm['me_name']);?></a>
<ul>
<?php
for($j=0; $j<$lMenu[$i][3]['cnt']; $j++) {
$lm2 = $lMenu[$i][3][$j];
?>
<li><a href="<?php echo($lm2['me_link']);?>"><?php echo($lm2['me_name']);?></a></li>
<?php } ?>
</ul>
</li>
<?php } ?>
</ul>
<?php } ?>
</div>
</li>
</ul>
[/code]
$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의 메뉴를 불러오는 오류를 수정해서 올림
대메뉴 페이지 제목 <?php echo $mMenu['gTitle'];?>
중간메뉴 페이지 제목 <?php echo $mMenu['mTitle'];?>
현재 페이지 제목 <?php echo($mMenu['pTitle']);?>
현재 페이지의 대메뉴 정보(각각 배열로 저장 되어있슴)
<?php print_r2($thisBInfo);?>
<?php print_r2($thisMInfo);?>
<?php print_r2($thisSInfo );?>
추천0
비추천 0
댓글목록
등록된 댓글이 없습니다.