BOARD

팁·활용

그누보드 게시판 분류 '전체' 탭 제거 및 첫 번째 분류 자동 선택 설정

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 0회 작성일 26-10-29 15:00

본문

그누보드 게시판 분류 '전체' 탭 제거 및 첫 번째 분류 자동 선택 설정

게시판 상단 분류 목록에서 불필요한 '전체' 메뉴를 제거하고, 분류가 선택되지 않은 상태로 접속 시 첫 번째 분류가 자동으로 선택되도록 설정하여 사용자 경험을 개선하는 방법을 안내합니다.

게시판 상단 '전체' 메뉴 제거 및 첫 번째 분류 자동 선택 설정

그누보드 게시판 분류 사용 시 기본적으로 출력되는 '전체' 메뉴를 제거하고, 분류가 선택되지 않은 상태로 접속할 경우 첫 번째 분류로 자동 이동하도록 설정하는 방법입니다. 작업 전 반드시 bbs/list.php 및 list.skin.php 파일을 백업하십시오.

1. '전체' 메뉴 제거

bbs/list.php 파일에서 전체 메뉴를 출력하는 코드를 찾아 주석 처리하거나 삭제합니다. 특정 게시판에만 적용하려면 아래와 같이 조건문을 활용하십시오.

// 특정 게시판(예: free)을 제외하고 전체 메뉴 출력
if ($bo_table!= 'free') {
 $category_option.= '<li><a href="'.$category_href.'"';
 if ($sca == '') $category_option.= ' id="bo_cate_on"';
 $category_option.= '>전체</a></li>';
}

2. 첫 번째 분류 자동 선택(리다이렉트)

분류가 선택되지 않은 상태($sca == '')에서 첫 번째 분류로 자동 이동하게 하려면 list.skin.php 파일 상단에 아래 코드를 추가합니다. 사용 중인 그누보드 버전에 맞는 코드를 선택하십시오.

if ($board['bo_use_category'] && $sca == '') {
 $categories = explode('|', $board['bo_category_list']);
 // 그누보드 5.4 이상 (짧은 주소 적용 시)
 goto_url(get_pretty_url($bo_table, '', 'sca='.urlencode($categories[0])));
 
 // 그누보드 5.3 이하 버전인 경우 아래 코드를 사용하세요
 // goto_url(G5_BBS_URL.'/board.php?bo_table='.$bo_table."&amp;sca=".urlencode($categories[0]));
}
  • 참고: 특정 게시판에만 적용하려면 if ($bo_table == '게시판ID' && $board['bo_use_category'] && $sca == '')와 같이 조건문을 수정하십시오.

게시판 분류 미선택 시 첫 번째 분류로 자동 이동 설정

게시판에 처음 접속할 때 분류(sca) 값이 지정되지 않은 경우, 첫 번째 분류로 자동으로 이동(리다이렉트)하게 하려면 사용 중인 그누보드 버전에 맞는 코드를 list.skin.php 파일 상단에 추가해야 합니다. 수정 전 반드시 해당 파일을 백업하십시오.

1. 적용 코드

list.skin.php 파일의 가장 윗부분에 아래 코드를 삽입합니다.

<?php
if ($board['bo_use_category']) {
 $categories = explode('|', $board['bo_category_list']);
 if ($sca == '') {
 // 그누보드 5.4 이상 (짧은 주소 적용 시)
 goto_url(get_pretty_url($bo_table, '', 'sca='. urlencode($categories[0])));
 
 // 그누보드 5.3 이하 버전인 경우 아래 코드를 사용하세요
 // goto_url(G5_BBS_URL. '/board.php?bo_table='. $bo_table. "&amp;sca=". urlencode($categories[0]));
 }
}
?>

2. 특정 게시판에만 적용하기

모든 게시판이 아닌 특정 게시판에만 이 기능을 적용하려면 조건문에 게시판 ID($bo_table)를 추가합니다.

if ($bo_table == '게시판ID' && $board['bo_use_category']) {
 $categories = explode('|', $board['bo_category_list']);
 if ($sca == '') {
 goto_url(get_pretty_url($bo_table, '', 'sca='. urlencode($categories[0])));
 }
}

3. 주의사항

  • 버전 확인: 사용 중인 그누보드 버전에 따라 goto_url의 인자 형식이 다르므로 본인 환경에 맞는 것을 선택해야 합니다.
  • 오류 방지: 코드 적용 후 게시판 접속 시 무한 루프나 오류가 발생한다면, 즉시 백업해둔 원본 파일로 복구하십시오.

그누보드 버전별 분류 리다이렉트 코드 차이

그누보드 게시판에서 분류(sca)가 선택되지 않은 상태로 접속했을 때, 첫 번째 분류로 자동 이동(리다이렉트)시키는 코드는 사용하는 그누보드 버전에 따라 goto_url 함수의 인자 형식이 다릅니다. 수정 전 반드시 list.skin.php 파일을 백업하십시오.

1. 그누보드 5.4 이상 (짧은 주소 적용 시)

get_pretty_url 함수를 사용하여 주소를 생성합니다.

goto_url(get_pretty_url($bo_table, '', 'sca='. urlencode($categories[0])));

2. 그누보드 5.3 이하

G5_BBS_URL 상수를 사용하여 직접 경로를 지정합니다.

goto_url(G5_BBS_URL. '/board.php?bo_table='. $bo_table. "&amp;sca=". urlencode($categories[0]));

적용 방법

list.skin.php 파일 상단에 아래와 같이 조건문을 추가하여 적용합니다.

if ($board['bo_use_category'] && $sca == '') {
 $categories = explode('|', $board['bo_category_list']);
 // 위에서 확인한 버전별 코드를 여기에 삽입
}

*참고: 특정 게시판에만 적용하려면 if ($bo_table == '게시판ID' && $board['bo_use_category'] && $sca == '')와 같이 조건문을 수정하십시오.

특정 게시판에만 분류 설정 적용하기

게시판 상단 분류에서 '전체' 메뉴를 제거하거나, 분류가 선택되지 않았을 때 첫 번째 분류로 자동 이동하는 기능을 모든 게시판이 아닌 특정 게시판에만 적용하려면 if 조건문을 사용하여 게시판 ID($bo_table)를 지정해야 합니다.

1. '전체' 메뉴 제거 시 적용 방법

bbs/list.php 파일에서 전체 메뉴를 출력하는 코드를 삭제하는 대신, 아래와 같이 조건문을 감싸 특정 게시판을 제외하거나 포함하도록 설정합니다.

// 'free' 게시판을 제외하고 전체 메뉴 출력
if ($bo_table!= 'free') {
 $category_option.= '<li><a href="'.$category_href.'"';
 if ($sca=='') $category_option.= ' id="bo_cate_on"';
 $category_option.= '>전체</a></li>';
}

2. 첫 번째 분류 자동 선택(리다이렉트) 시 적용 방법

list.skin.php 파일 상단에 코드를 추가할 때, 특정 게시판 ID를 조건으로 걸어 해당 게시판에서만 동작하게 합니다.

if ($bo_table == 'free' && $board['bo_use_category']) {
 $categories = explode('|', $board['bo_category_list']);
 if ($sca == '') {
 // 그누보드 5.4 이상 (짧은 주소)
 goto_url(get_pretty_url($bo_table,'','sca='.urlencode($categories[0])));
 
 // 그누보드 5.3 이하 버전인 경우 아래 코드 사용
 // goto_url(G5_BBS_URL.'/board.php?bo_table='.$bo_table."&amp;sca=".urlencode($categories[0]));
 }
}

주의사항

  • 백업 필수: 코드를 수정하기 전 반드시 bbs/list.php와 list.skin.php 파일을 백업하십시오.
  • 게시판 ID 확인: 위 예시의 'free' 부분을 실제 적용하려는 게시판의 ID로 변경하여 사용하십시오.
  • 버전 확인: 사용 중인 그누보드 버전에 따라 goto_url의 인자 형식이 다르므로, 환경에 맞는 코드를 선택해야 합니다.

상황별 분류 설정 가이드

내 상황우선할 판단다음 행동
게시판 상단 '전체' 메뉴 제거bbs/list.php 수정해당 파일 내 전체 메뉴 출력 코드를 주석 처리하거나 삭제
분류 미선택 시 첫 번째 분류로 이동list.skin.php 수정파일 상단에 분류 배열 추출 및 goto_url 리다이렉트 코드 추가
특정 게시판에만 기능 적용조건문(if) 추가$bo_table == '게시판ID' 조건을 코드 상단에 결합
  • 주의: 모든 수정 전에는 반드시 원본 파일을 백업하십시오.

실전 FAQ

Q. 그누보드 버전에 따라 리다이렉트 코드가 다른가요? 네, 5.4 이상(짧은 주소 사용)은 get_pretty_url() 함수를 사용하고, 5.3 이하는 G5_BBS_URL 상수를 포함한 직접 경로를 사용해야 합니다. 버전이 맞지 않으면 무한 루프나 오류가 발생할 수 있습니다.

Q. 특정 게시판 ID는 어떻게 확인하나요? 관리자 페이지의 '게시판 관리' 메뉴에서 해당 게시판의 '테이블 ID' 항목을 확인하십시오.

Q. 코드 적용 후 게시판이 열리지 않거나 오류가 발생하면 어떻게 하나요? 즉시 백업해둔 원본 파일을 서버에 덮어쓰기하여 복구하십시오. 이후 조건문(if)의 게시판 ID가 정확한지, 버전별 goto_url 형식이 올바른지 다시 확인해야 합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.