그누보드 메인 페이지(index.php)에 특정 게시판을 직접 출력하고 경로 문제 해결하기
페이지 정보

본문
그누보드 메인 페이지에서 최신글 대신 특정 게시판 목록을 URL 이동 없이 직접 불러오고, 버전별 링크 및 페이징 오류를 해결하는 방법을 알아봅니다.
메인 페이지(index.php)에 게시판 직접 출력하기
그누보드 메인 페이지에서 URL 이동 없이 특정 게시판 목록 페이지 자체를 직접 불러오려면 index.php 파일을 수정해야 합니다.
1. index.php 파일 수정
index.php 파일의 내용 전체를 아래 코드로 교체합니다.
<?php
include_once('./_common.php');
define('_INDEX_', true);
require_once(G5_BBS_PATH.'/board.php');
return;
?>
이 방식을 적용한 후 도메인만 입력하면 별도의 URL 이동 없이 해당 게시판이 바로 출력됩니다. 디자인을 수정하려면 연결된 head.php 및 tail.php 파일을 수정하거나, 인덱스용 게시판만 다른 디자인으로 꾸미기 위해 상·하단 파일을 별도로 만들어 해당 게시판 설정에서 상단 파일 경로와 하단 파일 경로를 변경할 수 있습니다.
bbs/board.php 파일 내 인덱스용 게시판 ID 및 설정 로직 추가 방법
bbs/board.php 파일 상단의 include_once('./_common.php'); 바로 아랫부분에 메인 페이지(인덱스)에서 호출할 특정 게시판의 ID와 모바일/PC 스킨 경로를 지정하는 코드를 추가합니다.
설정 코드 추가 위치 및 예시
bbs/board.php 파일을 열어 다음 코드를 삽입합니다.
if(defined('_INDEX_')) {
$bo_table = '1111'; // 인덱스용 게시판id (메인 페이지로 사용하고 싶은 게시판 ID로 변경)
$write_table = $g5['write_prefix']. $bo_table;
$board = sql_fetch(" select * from {$g5['board_table']} where bo_table = '$bo_table' ");
if (!$board['bo_table']) {
alert_close('인덱스용 게시판이 생성되지 않았습니다.');
}
if (G5_IS_MOBILE) {
$board_skin_path = get_skin_path('board', $board['bo_mobile_skin']);
$board_skin_url = get_skin_url('board', $board['bo_mobile_skin']);
} else {
$board_skin_path = get_skin_path('board', $board['bo_skin']);
$board_skin_url = get_skin_url('board', $board['bo_skin']);
}
}
버전별 적용 범위 및 주의사항
- 그누보드 5.4 버전: 위 설정 로직까지만 적용해도
basic스킨 기준으로 추가 수정 없이 메인 페이지에 게시판이 정상 출력됩니다. - 그누보드 5.3 이하 버전: 위 설정만 적용하면 게시판 버튼이나 페이징 링크에 오류가 발생하므로, 게시판 스킨(
list.skin.php)의 링크 경로 수정 작업을 추가로 진행해야 합니다.
게시판 스킨 검색 폼 및 관리자 버튼 경로 수정 방법
그누보드 5.3 이하 버전에서 메인 페이지(index.php)에 게시판을 직접 출력할 때, 상대 경로로 인해 검색 폼이나 게시물 관리 버튼(선택삭제, 선택이동 등)이 올바르게 작동하지 않는 오류를 해결하기 위한 수정 방법입니다.
1. 검색 폼 경로 수정
게시판 스킨 폴더 내의 list.skin.php 파일에서 검색 폼의 action 경로를 절대 경로(G5_BBS_URL)로 변경합니다.
- 수정 전 위치:
list.skin.php파일 내 검색 폼 태그
<form name="fsearch" method="get">
- 수정 후 코드:
action속성에G5_BBS_URL을 포함한 경로를 지정합니다.
<form name="fsearch" method="get" action="<?php echo G5_BBS_URL?>/board.php">
2. 게시물 관리 버튼 링크 수정
파일 하단 부분의 스크립트 영역에서 게시물 관리 작업 대상 경로가 상대 경로로 되어 있는 부분을 수정합니다.
- 수정 전 위치:
list.skin.php파일 하단 스크립트 영역
f.action = "./board_list_update.php";
f.action = "./move.php";
- 수정 후 코드: 절대 경로 함수를 적용하여 경로 오류를 방지합니다.
f.action = "<?php echo G5_BBS_URL?>/board_list_update.php";
f.action = "<?php echo G5_BBS_URL?>/move.php";
메인 페이지 게시판 직접 출력 및 경로 문제 해결 가이드
- 내 상황: 그누보드 메인 페이지(
index.php)에 최신글이나 URL 이동 방식 대신 특정 게시판 목록 자체를 직접 출력하고자 하는 경우 - 선택 기준: 사용 중인 그누보드 버전(
5.4또는5.3 이하)에 따라index.php및bbs/board.php수정 외에 스킨 파일 추가 수정 여부를 결정 - 다음 행동:
index.php와bbs/board.php를 수정하여 기본 출력을 구현하고, 5.3 이하 버전인 경우 게시판 스킨(list.skin.php)의 링크 및 검색 폼 경로를 절대 경로로 수정
실전 FAQ
Q. 그누보드 5.4 버전인데 메인 페이지에 게시판을 출력하니 버튼 링크나 페이징이 깨집니다.
- 예외 및 대안: 원문 기준 그누보드 5.4 버전은 기본 스킨(
basic) 기준으로 추가 스킨 수정 없이index.php및bbs/board.php설정만으로 정상 작동해야 합니다. 만약 커스텀 스킨을 사용 중이거나 경로가 깨진다면 5.3 이하 버전과 동일하게list.skin.php내의 링크 경로를G5_BBS_URL기반의 절대 경로로 수정해야 합니다.
Q. 게시판 ID 대신 메뉴 ID를 넣었더니 페이지가 깨지거나 오류가 납니다.
- 막히는 지점:
bbs/board.php파일 내$bo_table = '1111';부분에는 메뉴 ID가 아닌 실제 생성된 게시판의 고유 ID(bo_table)를 입력해야 합니다. 잘못된 ID를 넣으면 게시판 정보를 불러오지 못해 오류가 발생하므로 정확한 게시판 테이블명을 확인하고 입력해야 합니다.
함께 보면 좋은 글
참고자료
기타 참고자료
- 이전글그누보드 회원 데이터 완전 삭제(Hard Delete)를 위한 로직 수정 방법 26.09.24
- 다음글그누보드 게시판 단어 필터링 관리자 예외 처리 방법 26.09.24
댓글목록
등록된 댓글이 없습니다.