BOARD

팁·활용

그누보드 게시판에서 글이 없는 분류 탭 숨기는 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 51회 작성일 26-09-13 14:32

본문

그누보드 게시판에서 글이 없는 분류 탭 숨기는 방법

그누보드 게시판에서 글이 없는 빈 분류 탭을 숨겨 사용자 이용 불편을 해결하는 구체적인 코드 수정 방법과 주의사항을 안내합니다.

그누보드 분류 탭 항상 노출 원인

그누보드 기본 설정에서는 게시판에 분류를 설정해 두면 해당 카테고리에 속한 글의 유무와 관계없이 모든 분류 탭이 항상 출력됩니다. 다만, 사용하는 그누보드 버전이나 테마에 따라 bbs/list.php 파일의 구조가 다를 수 있으므로 수정 전 현재 설치된 환경의 파일 구조를 먼저 확인해야 합니다. 이로 인해 글이 하나도 없는 빈 분류 탭이 노출되어 이용자가 불편을 겪을 수 있습니다.

bbs/list.php 파일 수정 방법

그누보드 기본 설정에서는 분류에 속한 글의 유무와 관계없이 모든 분류 탭이 항상 출력됩니다. bbs/list.php 파일의 분류 메뉴 출력 루프 내에서 sql_fetch 함수를 이용해 각 분류별 글 개수를 확인하고, 개수가 0개이거나 빈 값이면 continue 처리하여 출력하지 않도록 수정합니다.

적용 코드 예시

※ 코드 수정 시 문법 오류가 발생하면 게시판 전체가 출력되지 않을 수 있습니다. 또한, 게시글이 많은 경우 분류마다 DB 쿼리를 실행하므로 사이트 속도에 영향을 줄 수 있음을 고려해야 합니다.

$tmp_write_table = $g5['write_prefix'] . $bo_table;
$categories = explode('|', $board['bo_category_list']);
for ($i=0; $i<count($categories); $i++) {
    $category = trim($categories[$i]);
    $tmp_row = sql_fetch(" select count(*) as cnt from {$tmp_write_table} where ca_name = '".$category."' ");
    if ($category=='' || $tmp_row['cnt'] < 1) continue;
    $category_option .= '<li><a href="'.(get_pretty_url($bo_table,'','sca='.urlencode($category))).'"';
    $category_msg = '';
    if ($category==$sca) {
        $category_option .= ' id="bo_cate_on"';
        $category_msg = '<span class="sound_only">열린 분류 </span>';
    }
    $category_option .= '>'.$category_msg.$category.'</a></li>';
}

코드 수정 작업 전후 주의사항과 백업 방법

그누보드 파일 수정 작업 시 발생할 수 있는 오류를 예방하고 안전하게 원복하기 위해 다음 주의사항과 확인 절차를 거쳐야 합니다.

  • 작업 전 파일 백업: 그누보드 버전별로 코드 차이가 있을 수 있으므로, 코드를 수정하기 전 대상 파일을 반드시 백업해야 합니다.
  • 적용 후 정상 출력 확인: 코드를 수정한 뒤에는 게시판 페이지에서 글이 없는 분류 탭이 정상적으로 숨겨지고 출력되는지 확인해야 합니다.
  • 특정 스킨 적용 시 원복: 특정 게시판 스킨에만 기능을 적용할 때는 bbs/list.php 파일에서 수정했던 분류 출력 루프 로직을 해당 스킨의 list.skin.php 파일 상단에 추가한 뒤, bbs/list.php 파일을 원본 상태로 되돌려 놓아야 합니다.

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.