BOARD

팁·활용

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

페이지 정보

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

본문

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

그누보드에서 기본 제공하는 최신글 목록 대신 사용자가 지정한 순서대로 특정 게시물만 골라 출력하는 방법과 적용 절차를 안내합니다.

그누보드 최신글 특정 게시물 순서 지정 및 추출을 위해 수정해야 할 파일

그누보드에서 특정 게시물만 골라 사용자가 원하는 순서대로 최신글을 출력하려면 라이브러리 파일, 게시판 스킨 파일, 그리고 최신글 호출부 파일을 수정해야 합니다. 이 방법은 그누보드 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 } ?>

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.