그누보드 최신글 특정 게시물 순서 지정 및 추출 방법
페이지 정보

본문
그누보드 최신글 특정 게시물 순서 지정 및 추출 방법
그누보드에서 기본 제공하는 최신글 목록 대신 사용자가 지정한 순서대로 특정 게시물만 골라 출력하는 방법과 적용 절차를 안내합니다.
그누보드 최신글 특정 게시물 순서 지정 및 추출을 위해 수정해야 할 파일
그누보드에서 특정 게시물만 골라 사용자가 원하는 순서대로 최신글을 출력하려면 라이브러리 파일, 게시판 스킨 파일, 그리고 최신글 호출부 파일을 수정해야 합니다. 이 방법은 그누보드 5.x 버전대에서 공통적으로 적용 가능한 방식이나, 테마나 커스텀 스킨 사용 시 파일 경로가 다를 수 있으므로 확인이 필요합니다.
1. 최신글 출력 라이브러리 파일 수정
- 수정 파일:
lib/latest.lib.php - 수정 내용: 기본 최신글 함수를 복사하여 새로운 함수명으로 변경한 뒤 파일 하단에 추가합니다. 버전별로 함수 구조가 다를 수 있으므로 현재 사용하는 버전을 기준으로 복사해야 합니다.
- 주의사항: 그누보드 버전별 함수 차이가 있을 수 있으므로 수정 전 기존 파일을 반드시 백업해야 합니다.
2. 게시판 스킨 파일 수정
- 수정 파일:
write.skin.php(글쓰기 및 수정 화면 스킨) - 수정 내용: 관리자만 입력할 수 있는 여분필드 1번(
wr_1) 입력란을 추가하여 출력 순서값을 지정할 수 있도록 합니다. 빈 값으로 두면 최신글로 출력되지 않습니다.
3. 최신글 호출부 파일 수정
- 수정 파일:
index.php등 최신글을 호출하는 위치 - 수정 내용: 기존
latest()함수 대신 새로 만든 사용자 정의 함수명(예:latest_main())을 사용해 호출합니다.
4. 적용 후 확인 사항
정렬 방식을 변경하거나 순서값을 수정했을 때 바로 반영되지 않는다면 관리자 페이지의 환경설정에서 캐시파일 일괄 삭제를 실행한 후 결과를 확인해야 합니다.
그누보드 최신글 SQL 쿼리문 변경 방법
최신글 출력을 담당하는 라이브러리 함수(lib/latest.lib.php)에서 사용자 정의 최신글 함수 내부의 SQL 쿼리문을 다음과 같이 수정합니다.
$sql = " select * from {$tmp_write_table} where wr_is_comment = 0 and wr_1 > '0' order by wr_1+0 desc limit 0, {$rows} ";
쿼리 수정 시 참고 사항
wr_1+0사용 이유: 여분필드 타입이 문자형이기 때문에 숫자형으로 변환하여 올바르게 정렬하기 위함입니다.- 정렬 방식:
desc는 높은 값이 먼저 출력되며,asc로 변경하면 낮은 값부터 출력됩니다.
게시판 스킨 파일 수정 방법
관리자가 글쓰기 및 수정 화면에서 직접 출력 순서를 입력할 수 있도록 write.skin.php 스킨 파일을 수정합니다. 관리자 권한으로 로그인한 경우에만 여분필드 입력란이 노출되도록 설정하며, 이 입력란에 값을 빈 값으로 두면 최신글로 출력되지 않습니다.
코드 추가 위치 및 예시
write.skin.php 파일 내에 아래 코드를 추가합니다.
<?php if ($is_admin) { ?>
<div class="write_div">
<label for="wr_1" class="sound_only">메인출력</label>
<input type="text" name="wr_1" value="<?php echo $wr_1 ?>" id="wr_1" class="frm_input" size="10" placeholder="출력순서">
</div>
<?php } ?>
함께 보면 좋은 글
참고자료
기타 참고자료
- 이전글그누보드 테마 폴더에 커스텀 페이지 추가하고 링크 연결하는 방법 26.09.14
- 다음글그누보드 1:1 문의 게시판 작성자의 다른 문의글 목록 출력하기 26.09.14
댓글목록
등록된 댓글이 없습니다.