인덱스(index) 페이지에 특정 게시판을 직접 출력하기
특정 게시판을 홈페이지 첫 메인페이지로 사용하려면 게시판 자체가 아닌 최신글로 출력하거나
해당 게시판 URL로 별도로 이동시키는 방법을 많이 사용하는데요.
아래 내용은 index 파일에 board.php 목록 페이지 자체를 불러오는 방식입니다.
수정 후 도메인만 입력하면 URL 이동없이 게시판이 바로 출력됩니다.
디자인 수정은 게시판 상단 파일, 하단 파일과 연결되어 있기 때문에 head.php, tail.php 파일을 수정하세요.
인덱스용 게시판만 다른 디자인으로 꾸미려면 head, tail 파일을 별도로 만들어서
해당 게시판 설정에서 상단 파일 경로, 하단 파일 경로를 변경하면 됩니다.
1. index.php 파일 수정
파일 내용 전체를 이렇게 교체
<?php
include_once('./_common.php');
define('_INDEX_', true);
require_once(G5_BBS_PATH.'/board.php');
return;
?>
2. bbs/board.php 파일 수정
파일 상단 include_once('./_common.php'); 바로 아랫 부분에 다음 내용 추가
if(defined('_INDEX_')) {
$bo_table = '1111'; // 인덱스용 게시판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']);
}
}
위 내용 중 여기에서 메인 페이지로 사용하고 싶은 게시판 id 입력
$bo_table = '1111'; // 인덱스용 게시판id
그누보드 5.4 버전은 위 내용까지만 적용하세요.
(그누보드 5.4 버전은 basic 스킨 기준으로 추가 수정 없이 위 내용만 적용해도 되네요.)
그누보드 5.3 이하 버전 사용자분들은 아래 내용들을 추가로 수정하셔야 합니다.
수정하지 않으면 게시판 버튼이나 페이징 등의 링크에 문제가 발생합니다.
3. 게시판 스킨 list.skin.php 파일 수정
글쓰기, 검색, RSS, 페이징, 게시물 관리 버튼 링크 경로 수정
3-1. 글쓰기, RSS, 페이징, 검색 후 목록 버튼 링크 수정
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
파일 상단에 있는 위 코드 바로 아래에 추가.
if(defined('_INDEX_')) {
$write_href = G5_BBS_URL.'/write.php?bo_table='.$bo_table;
$list_href = G5_BBS_URL.'/board.php?bo_table='.$bo_table;
$rss_href = G5_BBS_URL.'/rss.php?bo_table='.$bo_table;
$write_pages = get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, G5_BBS_URL.'/board.php?bo_table='.$bo_table.$qstr.'&page=');
}
버튼이 무조건 노출되는 문제가 발생한다면 위 내용 전체를 이렇게 수정.
if(defined('_INDEX_')) {
if ($member['mb_level'] >= $board['bo_write_level']) $write_href = G5_BBS_URL.'/write.php?bo_table='.$bo_table;
if ($is_search_bbs) $list_href = G5_BBS_URL.'/board.php?bo_table='.$bo_table;
if ($board['bo_use_rss_view']) $rss_href = G5_BBS_URL.'/rss.php?bo_table='.$bo_table;
$write_pages = get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, G5_BBS_URL.'/board.php?bo_table='.$bo_table.$qstr.'&page=');
}
3-2. 검색 폼 수정
<form name="fsearch" method="get">
여기를 이렇게 수정
<form name="fsearch" method="get" action="<?php echo G5_BBS_URL ?>/board.php">
3-3. 게시물 관리 버튼 링크 수정
파일 하단 부분에서..
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";
댓글목록 +4
댓글목록
관리자님의 댓글
관리자 작성일예전에 SIR에 올렸던 팁인데 일부 보완했습니다.
뉴스웹님의 댓글
뉴스웹 작성일
개발자님 특정 게시판을 index 로 사용하려고 하는데 깨집니다. 3. 게시판 스킨 list.skin.php 파일 수정
개발자님 혹시 이 파일은 어디있는 건가요?
http://***.kr/ 이런식으로 깨집니다...ㅠㅠ
관리자님의 댓글의 댓글
관리자 작성일
원본을 기준으로 작성한 내용이며 다시 해봤지만 특별한 문제는 발견하지 못했습니다.
list.skin.php 파일은 사용하고 계시는 게시판 스킨 폴더 안에 있습니다.
근데 저렇게 깨지는 현상은 스킨 폴더와는 관계가 없습니다. 스킨 파일은 단순한 링크 수정입니다.
뉴스웹님의 댓글
뉴스웹 작성일아..감사합니다 ㅠㅠ 해결했습니다. 게시판 id를 넣어야 하는데 메뉴 아이디를 넣었네요 정말 감사합니다.