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

그누보드5 메뉴설정 4차까지 확장/뎁스/depth

· 10년 전 · 54835 · 42

4차메뉴까지 정도는필요하실듯하네요.

1. 설치방법안내

- /adm/css/admin.cs 313라인 변경/ 추가

#menulist .sub_menu_class {padding-left:25px;background:url('../img/sub_menu_ico.gif') 5px 15px no-repeat}

#menulist .sub_menu_class2 {padding-left:25px;background:url('../img/sub_menu_ico.gif') 5px 15px no-repeat}

#menulist .sub_menu_class3 {padding-left:50px;background:url('../img/sub_menu_ico2.gif') 5px 15px no-repeat}

#menulist .sub_menu_class4 {padding-left:75px;background:url('../img/sub_menu_ico3.gif') 5px 15px no-repeat}

-이미지 파일 2개는 아래 폴더에 업로드

/adm/img/

- 앞축푼 파일들은 /adm폴더에 업로드 하시면 됩니다.

 

2. 사용 소스코드

- 첨부파일에서 복사해서 쓰세요.

- 3차 까지만 작업되어 있구요. 4차 부터는 직접 수정하시면 됩니다.

 

3. 일러두기

- DB는 변경하실 필요가 없습니다.

- 5차 이후로도 가능은 하지만 필요가 없을듯 합니다.

- 메뉴추가를 하면 DB에 바로저장됩니다.

- 변경버튼 누르면 해당 메뉴만 업데이트되고, 하단에 확인 누르면 전체가 업데이트 됩니다.

- 기존 프로그램은 me_id 값이 계속 변경되지만, 이건 고정되어 있습니다.

- 메뉴 매칭 방식이 url을 검색하는 방식입니다. 더 좋은게 많겠지만, 간단한게 좋으니까.

- 로케이션/현재위치별 링크도 동작합니다.

 

2016.07.20

===============

안코딩님 수정내용에 따라 menu_form.php 35번 라인 수정해서 다시 올림.

 

2016.07.26

===============

게시판이나 그룹을 선택시 메뉴추가기능 정상동작확인 / 5.2.0 버전

menu_list_insert.php 오류 수정후 다시 올림.

 

2016.07.27

===============

테마의 head.php 파일에 16번 라인 이후에 아래 내용을 넣어주세요

mysql_num_rows를 사용하면 오류가 나서 그누보드에서 제공하는 함수로 변경하였습니다.

 

if($bo_table) {
 $cate = "me_link LIKE '%bo_table=".$bo_table ."%'";
 $present_row = sql_query("select me_code  from ".$g5['menu_table']." where  $cate order by me_order,me_code,me_id limit 0,1 ");
 $present_row2=sql_fetch_array($present_row);
 $me_code = $present_row2[me_code];
}else if($co_id){

 $cate = "me_link LIKE '%co_id=".$co_id ."' ";
 $present_row = sql_query("select me_code  from ".$g5['menu_table']." where  $cate order by me_order,me_code,me_id limit 0,1 ");
 $present_row2=sql_fetch_array($present_row);
 $me_code = $present_row2[me_code];
}

 

2016.09.06

==========================

보들이윤 님의 수정내용에 따라 menu_form.php 36번 라인 신규 메뉴 관련 비교 로직을 변경하였습니다.

 

2016.11.24

==========================

메뉴구조가 복잡해질 경우 $me_code 추출이 비정상인 문제를 해결하였습니다.

 

2017.12.26

===========

링크가 동일한 메뉴가 있을 경우, 하위 차수 메뉴의 me_code 값을 참조 하도록 수정 하였습니다.

 

2018.03.21

===========

특정 php 버전에서 메뉴추가, 메뉴 변경시 발생하는 오류를 수정하였습니다.

 

2018.04.18

===========

- me_code 추출시 정렬기능이 추가되었습니다.

   bo_table 값이나 co_id 값의 앞 2/4자리가 동일할 경우

   메뉴를 정상적으로 불러오지 못하는 부분이 수정되었습니다.

- 1/2/3차 메뉴 추출시 정렬순서에 me_code 값이 추가되었습니다.

- 5.3 버전에서도 문제 없어 보입니다.

댓글 작성

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

로그인하기

댓글 42개

네 답변해 주셔서 너무 고맙습니다~
며칠 여러 모양으로 시도해 보았습니다만, pc테마환경에선 잘 되는데 모바일용 테마에서 안되나 봅니다..ㅠㅠ
감사합니다~!
모바일 테마 에서는 /theme/basic/mobile/head.php 에 위 내용을 동일 하게 추가 해주셔야 합니다.

그래도 안되시면 테마에 들어있는 내용을

/common.php 파일 460번째 줄 정도에 넣으시면 됩니다.

if ($is_admin != 'super') { ... } 가 끝나는 곳 바로 아래 입니다.
관리자내에선 적용이 된거 같은데... 왜 홈피 메인에선 나타나지 않는걸까요
알려주시면 감사드립니다 ㅎㅎ
메뉴소스.txt 에
메인메뉴, 서브메뉴, 로케이션 출력관련 내용이 들어 있습니다. 참조하세요~
안녕하세요...제작고민중이었는데 해결되었습니다.
그누컨텐츠에는 오류가 나서 수정 하였습니다.
이부분을 $result3 = sql_query($sql3);

이렇게 $result3 = mysql_query($sql3);
고치니 정상작동 하였습니다.


//3차메뉴 불러 오기.
$sql3 = " select *
from {$g5['menu_table']}
where me_use = '1'
and length(me_code) = '6'
and substring(me_code, 1, 4) = '{$row2['me_code']}'
order by me_order, me_id ";
$result3 = mysql_query($sql3);
$num3 = mysql_num_rows($result3);


수고스러우시지만 4차메뉴가 잘 안되네요...
도와주실 수 있는지요
//4차메뉴 불러오기 말씀이신가요?
//답변이 늦었습니다.

//4차메뉴 불러 오기.
$sql4 = " select *
from {$g5['menu_table']}
where me_use = '1'
and length(me_code) = '8'
and substring(me_code, 1, 6) = '{$row3['me_code']}'
order by me_order, me_id ";
$result4 = mysql_query($sql4);
$num4 = mysql_num_rows($result4);
감사합니다.
감사합니다
안녕하세요..
설명해주신데로 설정하고 메뉴를 작성하려고 하니..
[http://sir.kr/data/editor/1710/822fbffb25a7c858eae4fdd3bf79d261_1509178493_2117.jpg]

위와같이 나타납니다..
continue 구문 오류로 인해 exit 구문으로 대체 하였습니다.

게시글 목록

번호 제목
24318
24317
24315
24309
24294
24293
24277
24262
24260
24253
24251
24236
24233
24228
24226
24221
24214
24203
24201
24199
24196
24195
24194
24192
24191
24187
24185
24183
24172
24168