BOARD

팁·활용

그누보드 전체 새글 페이지(new.php) 특정 게시판 출력 제외 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 24회 작성일 26-10-01 17:24

본문

그누보드 전체 새글 페이지(new.php) 특정 게시판 출력 제외 방법

그누보드 전체 최신글(새글) 페이지인 bbs/new.php에서 특정 게시판의 글을 제외하고 출력하는 SQL 쿼리 수정 방법을 제공합니다.

그누보드 전체 새글 페이지(new.php) 특정 게시판 출력 제외 방법

전체 최근게시물이 출력되는 새글 페이지에서 전체 검색 기능은 유지한 채 특정 게시판의 글만 제외하려면 /bbs/new.php 파일의 SQL 쿼리를 수정해야 합니다.

1. 수정 파일 위치

  • /bbs/new.php

2. SQL 쿼리 수정 방법

수정 전 반드시 /bbs/new.php 파일을 백업하십시오. 파일 내에서 $sql_common 변수가 정의된 아래 코드를 찾습니다.

$sql_common = " from {$g5['board_new_table']} a, {$g5['board_table']} b, {$g5['group_table']} c where a.bo_table = b.bo_table and b.gr_id = c.gr_id and b.bo_use_search = 1 ";

위 코드 바로 아래에 not in 조건을 추가하여 제외할 게시판 ID를 지정합니다.

$sql_common.= " and a.bo_table not in ('notice', 'gallery') "; // 공지사항과 갤러리 게시판은 제외
  • 'notice', 'gallery' 부분에 최신글 목록에서 제외할 실제 게시판 ID를 입력합니다.
  • 게시판 설정에서 '검색 사용'을 체크 해제하면 전체 검색에서도 제외되지만, 위와 같이 쿼리를 수정하면 전체 검색 기능은 유지하면서 최신글(new.php) 목록에서만 특정 게시판을 제외할 수 있습니다.

전체 새글 페이지에서 특정 게시판 제외하기

그누보드 5.x 버전의 전체 최신글(새글) 페이지인 /bbs/new.php에서 특정 게시판의 글을 출력 목록에서 제외하려면 SQL 쿼리문에 not in 조건을 추가해야 합니다.

1. 수정 파일 위치

  • /bbs/new.php

2. 코드 수정 방법

/bbs/new.php 파일 내에서 $sql_common 변수가 정의된 아래 코드를 찾습니다.

$sql_common = " from {$g5['board_new_table']} a, {$g5['board_table']} b, {$g5['group_table']} c where a.bo_table = b.bo_table and b.gr_id = c.gr_id and b.bo_use_search = 1 ";

위 코드 바로 아래에 제외할 게시판의 고유 아이디(bo_table)를 지정하는 아래의 코드를 추가합니다.

$sql_common.= " and a.bo_table not in ('notice', 'gallery') "; // 공지사항과 갤러리 게시판은 제외

3. 입력 형식 및 주의사항

  • 형식: not in ('게시판ID1', '게시판ID2') 형태로 작은따옴표로 감싸고 쉼표로 구분하여 입력합니다.
  • 게시판 ID 확인: 관리자 페이지의 [게시판 관리] 메뉴에서 각 게시판의 '테이블명(bo_table)' 항목을 확인하십시오.

게시판 설정 검색 사용 체크 해제와 SQL 쿼리 수정의 차이

그누보드에서 특정 게시판을 최신글 목록에서 제외할 때 사용하는 두 가지 방법은 적용 범위와 결과에서 차이가 있습니다.

1. 게시판 관리에서 검색 사용 체크 해제

  • 작동 방식: 관리자 페이지의 게시판 설정에서 해당 게시판의 검색 사용 여부를 해제합니다.
  • 결과: 최신글(새글 페이지) 목록에서 제외될 뿐만 아니라, 사이트 전체 검색 결과에서도 해당 게시판의 글이 출력되지 않습니다.

2. bbs/new.php SQL 쿼리 수정 (not in 조건 추가)

  • 작동 방식: /bbs/new.php 파일의 기본 쿼리($sql_common) 바로 아래에 and a.bo_table not in ('notice', 'gallery')와 같은 제외 조건을 추가합니다.
  • 결과: 전체 검색 기능은 정상적으로 유지하면서, 전체 최신글(새글 페이지) 목록에서만 특정 게시판의 글을 제외할 수 있습니다.

메인화면(index.php) 최신글 목록에서 특정 게시판을 제외하는 방법

새글 페이지(bbs/new.php)에서 특정 게시판을 제외하는 방식과 유사하게, 메인화면 최신글 영역(index.php)에서도 SQL 쿼리에 not in 조건을 추가하여 특정 게시판을 제외할 수 있습니다. 단, 수정하는 파일과 쿼리문의 구조는 new.php와 차이가 있습니다.

1. 수정 파일 및 위치

  • 수정 파일: index.php
  • 확인할 코드: //최신글 주석 근처의 최신글 추출 SQL 쿼리문

2. SQL 쿼리 수정 방법

index.php 파일을 에디터로 열어 최신글 추출 쿼리에서 where 조건절에 not in 항목을 추가합니다.

$sql = " select bo_table from `{$g5['board_table']}` a left join `{$g5['group_table']}` b on (a.gr_id=b.gr_id) where a.bo_device <> 'mobile' and bo_table not in ('notice') ";
  • 여러 개의 게시판을 제외하려면 괄호 안에 쉼표로 구분하여 게시판 ID를 추가합니다.
    • 예: $sql.= " and a.bo_table not in ('notice', 'gallery', 'schedule') ";

3. 주의사항

  • 정확한 게시판 ID를 입력해야 정상적으로 제외됩니다.
  • 코드를 수정하기 전에 원본 파일을 반드시 백업하시기 바랍니다.

상황별 선택 가이드

  • 전체 검색은 유지하고 새글(new.php) 목록에서만 제외할 때
    • 선택 기준: 사이트 내 검색 기능은 그대로 두어야 하는 경우
    • 다음 행동: /bbs/new.php 파일을 열어 $sql_common 변수 하단에 and a.bo_table not in ('게시판ID') 조건을 추가합니다.
  • 사이트 전체 검색에서도 해당 게시판을 완전히 제외할 때
    • 선택 기준: 검색 결과에도 노출되지 않아야 하는 경우
    • 다음 행동: 관리자 페이지의 [게시판 관리]에서 해당 게시판의 '검색 사용' 설정을 체크 해제합니다.

Q. 여러 게시판을 한꺼번에 제외하려면 어떻게 하나요?

  • not in ('id1', 'id2', 'id3')와 같이 쉼표로 구분하여 게시판 ID를 나열하면 됩니다.

Q. 수정 후 주의할 점은 무엇인가요?

  • /bbs/new.php는 코어 파일이므로 그누보드 업데이트 시 수정 내용이 초기화될 수 있습니다. 수정 전 반드시 원본 파일을 백업하십시오.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.