플록님의 메뉴관련 질문입니다.

 
위 주소에서 메뉴 스킨을 다운받아 설치했습니다.
정말 편리하고 잘 됩니다. 
 
그런데 의문점은
 
(1) 그룹id가 gr_1, gr_2, gr_3, gr_4 가 있을 때,  메뉴의 순서를 어떻게 정하나요?
 
(2) 그리고 gr2와 gr_4만 메뉴를 만들고 싶은 경우는 어떻게 하나요?
 
|

댓글 3개

정보공개도 안하시고 질문하셨지만, 제 닉을 적시하고 질문을 올리셨으니 그냥 지나칠 수 없군요^^
이슬이 이병과 데이트후 작성한 글인점 참고하시기 바랍니다.


라이브러리 파일을 보면 아래 내용이 있을겁니다.
//-----------------
$sql_common = " from " . $g4['group_table'] . " g inner join " . $g4['board_table'] . " b using (gr_id) where ";

//그룹값 있으면 해당그룹, 없으면 전체그룹
if (!empty($gr_id))
$sql_common .= " g.gr_id = '$gr_id' ";
else
$sql_common .= " g.gr_use_access = '0' ";

//조건외 제외시키고자 하는 그룹 및 게시판을 수동으로 추가
$excgr = "('', '', '')";
$excbo = "('', '', '')";

$sql_common .= " and g.gr_id not in " . $excgr . " and b.bo_table not in " . $excbo . " and b.bo_use_search = '1' and (bo_list_level <= $member[mb_level]) ";

$sql_order = " order by gr_1 asc, bo_order_search asc ";

$sql= " select g.gr_id, g.gr_subject, g.gr_use_access, b.bo_use_category, b.bo_category_list, b.bo_new, b.bo_use_search, b.bo_table, substring_index( bo_subject, ';', 1) bo_subject
$sql_common
$sql_order ";

//-----------------
위 내용중에서 그룹 메뉴의 순서는 각 그룹의 여분필드 gr_1 에 순차적으로 정수를 입력하고 내림차순으로 할것인지 오름차순으로 할것인지를 정해줍니다.
$sql_order = " order by gr_1 asc, bo_order_search asc ";
$sql_order = " order by gr_1 asc, bo_order_search desc ";
원하는 대로 여분필드를 활용해서 가능하리라 봅니다.

//-----------------
그리고 gr2와 gr_4만 메뉴에 보이려면,,
//제외시키고자 하는 그룹을 아래처럼 일일이 지정하는 방식으로 추가하는 방법과,
$excgr = "('gr_1', 'gr_3', 'gr_5')";

아니면,

$sql_common .= " g.gr_use_access = '0' "; //접근허용 그룹

$sql_common .= " g.gr_10 = 'on' "; //여분필드 10번에 on 을 기입한 그룹만 보여주는 식으로 개인에 맞게 설정해 줍니다.
플록님 상세한 답변 감사합니다.
그리고 정보공개 했습니다.
플록님 해결되었습니다.

플록님 설명 중 아래부분에서 헤매고 있었습니다.

[ 위 내용중에서 그룹 메뉴의 순서는 각 그룹의 여분필드 gr_1 에 순차적으로 정수를 입력하고 내림차순으로 할것인지 오름차순으로 할것인지를 정해줍니다 ]

여분 필드값 2 에 1,2,3... 값을 넣어주니까 됩니다.
아래는 제가사용한 플록님 소스입니다.

<?
if (!defined('_GNUBOARD_')) exit;
// 그룹 나열 순서: gr_1 오름 차순
// 제외 그룹 gr_1== 0
// 그룹 자체 링크 gr_2
// 스킨 폴더 g4/skin/menu/스킨이름/menu.skin.php
// 게시판 bo_order_search 오름 차순
// 제외 게시판은 bo_order_search 100 이상
function menu($skin_dir="") {
global $config;
global $g4;

global $member;//부가메뉴
global $gr_id;
global $bo_table;//포커스를 위한 설정
global $gur;//포커스를 위한 개인설정

if ($skin_dir)
$menu_skin_path = "$g4[path]/skin/menu/$skin_dir";
else
$menu_skin_path = "$g4[path]/skin/menu/basic";
/*/id값 활용을 위한 테스트 라인
$sqlgr= "select gr_id from $g4[group_table] order by gr_id ASC ";
$resultgr = sql_query($sqlgr);
for ($j=0; $rowgr = sql_fetch_array($resultgr); $j++) {
$grId[] = $rowgr['gr_id'];
}
/*/
$list = array();
/*************************************************** 원본/
$sql= "select G.gr_id, G.gr_2, G.gr_subject, B.bo_table, substring_index( bo_subject, ';', 1) bo_subject from $g4[group_table] G inner join $g4[board_table] B using (gr_id) where G.gr_1 > 0 and B.bo_order_search < 100 order by gr_1 ASC, bo_order_search ";//board 정렬순서 추가
/***************************************************/

/*수동 제외방법 추가 및 레벨제어*/
// 그룹 정렬 - gr_1 오름 차순
// 제외 그룹 - 접근사용 yes, 게시판이 없는 그룹, 제외 게시판만 있는 그룹
// 게시판 정렬 - 전체 검색 오름 차순
// 제외 게시판 - 전체 검색 사용 no, 목록열람 레벨
// 위 에서 명시한 그룹외에 제외시키고자 하는 그룹을 수동으로 추가

$exc = "('그룹아이디1', '그룹아이디2', '그룹아이디3')";
$sql= "select G.gr_id, G.gr_subject, G.gr_use_access, B.bo_use_search, B.bo_table, substring_index( bo_subject, ';', 1) bo_subject from $g4[group_table] G inner join $g4[board_table] B using (gr_id) where G.gr_use_access = '0' and G.gr_id not in {$exc} and B.bo_use_search = '1' and (bo_list_level <= $member[mb_level]) order by gr_1 ASC, bo_order_search ASC ";

$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++) {
if( $row['gr_2'])
$list[$row['gr_id']]['gr_subject'] = '<a href="'.$row['gr_2'].'">'.$row['gr_subject'].'</a>';
else
$list[$row['gr_id']]['gr_id'] = $row['gr_id'];//id값 활용을 위한 테스트 라인
$list[$row['gr_id']]['gr_subject'] = $row['gr_subject'];
$list[$row['gr_id']]['bbs'][] = array( 'bo_table'=> $row['bo_table'], 'bo_subject'=>$row['bo_subject']);

}

ob_start();
include "$menu_skin_path/menu.skin.php";
$content = ob_get_contents();
ob_end_clean();

return $content;
}
?>
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
19년 전 조회 1,561
19년 전 조회 2,001
19년 전 조회 1,690
19년 전 조회 1,998
19년 전 조회 2,370
19년 전 조회 2,131
19년 전 조회 1,566
19년 전 조회 1,552
19년 전 조회 1,587
19년 전 조회 1,513
19년 전 조회 1,610
19년 전 조회 1,652
19년 전 조회 1,610
19년 전 조회 2,961
19년 전 조회 1,609
19년 전 조회 1,887
19년 전 조회 1,791
19년 전 조회 1,638
19년 전 조회 2,332
19년 전 조회 2,347