그룹/ 보드별 사이드 메뉴 선택 출력 방법
고수분들이 보면 너무 창피한 자료일 수도 있네요.
헌데 저같은 초보분들 너무 헷깔리고 포럼 질문 답변에도 한방에 정리되어 있지 않아
올려봅니다.
더 좋은 방법도 많을텐데 흉보지 마시길 ^^ 더 좋은 방법이 있다면 댓글 달아주세요.
정리한 내용은
메인 / 그룹별 / 보드별 사이드 메뉴(2단 구성) 출력 유무 선택하기
그룹 / 보드별 각기 다른 사이드 메뉴 출력하기 임
<<2017년 6월 23일 아미나 빌더 기준으로 작성>>
# 메인페이지 사이드 출력
메인 페이지 소스 하단에 메인에서 사용되는 사이드 메뉴가 직접 코딩되어 있음
그러니 스위처나 혹은 필요에 따라 main.php 에서 관련 소스 삭제 시 출력되지 않음
요건 각자도생 T.T
$ 기본 사이드 메뉴파일
사용하는 테마 폴더 내,side.php 존재
기본은 단일한 사이드 메뉴 1개가 존재함
1. 그룹별로 사이드 사용 유무 결정하기
사용 테마>assets>thema.php 상단에 아래 소스를 붙여 사이드 출력 유무 결정할 수 있음
# 그룹 아이디에 따라 다르게 표현되며 12는 1단 9는 2단(사이드메뉴 표기) 구성임
그룹 아이디는 임의로 기재해본 것임
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
switch($gr_id) {
case 'news' : $at_set['page'] = 12; break;
case 'community' : $at_set['page'] = 9; break;
case 'community' : $at_set['page'] = 9; break;
case 'forum' : $at_set['page'] = 9; break;
case 'infor' : $at_set['page'] = 9; break;
case 'gallery' : $at_set['page'] = 12; break;
}
?>
2. 보드(게시판)별로 사이드 사용 유무 결정하기
사용 테마 > assets > thema.php 상단에 아래 소스를 붙여 사이드 출력 유무 선택
# 상기 그룹과 마찮가지로 12는 1단 9는 2단(사이드메뉴 표기) 구성임
# 보드가 속한 상위 그룹에서 사이드를 출력하지 않아도 아래 명령어로 정의된 보드는 사이드 메뉴 나타남
# 보드 아이디는 임의로 기재해본 것임
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
switch($bo_table) {
case 'news_inter' : $at_set['page'] = 12; break;
case 'news_world' : $at_set['page'] = 9; break;
}
?>
3. 그룹 혹은 보드에 따라 각기 다른 사이드 메뉴를 출력하는 방법
사용테마 side.php 상단에 다음 코드 삽입
이후 테마>side 폴더 안에 본인이 새롭게 코딩한 사이드 파일을 업로드하여 출력
# 상기 1번과 2번에서 사이드 메뉴를 사용하는 것으로 지정하였는데
별도의 다른 페이지를 기재하지 않는 경우는 side 폴더 내 basic-side.php 내용 출력
그외에는 각자 새롭게 코딩하여 side 폴더에 복사해 넣은 사이드 페이지 경로로 연결 출력
3-1> 그룹 별 별도 사이드 메뉴 출력
# 이하 소스를 삽입
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if($gr_id == "aaa") {
include_once(THEMA_PATH.'/side/aaa.php');
return;
} else if($gr_id == "bbb") {
include_once(THEMA_PATH.'/side/bbb.php');
return;
} else if($gr_id == "ccc") {
include_once(THEMA_PATH.'/side/ccc.php');
return;
}
?>
3-2> 보드별 별도 사이드 메뉴 출력
# 이하 소스를 삽입
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if($bo_table == "aaa") {
include_once(THEMA_PATH.'/side/aaa.php');
return;
} else if($bo_table == "bbb") {
include_once(THEMA_PATH.'/side/bbb.php');
return;
} else if($bo_table == "ccc") {
include_once(THEMA_PATH.'/side/ccc.php');
return;
}
?>
이 외에 동일한 사이드 메뉴를 보드 및 페이지별로 선택하여 출력 유무를 지정하는 것은
이미 아미나 테마관리 메뉴설정 서브메뉴 및 문서별 설정에서 와이드 표기 유무로 가능하니
이는 소개 생략함...T.T