그누보드 최신 댓글 등록 순 게시판 목록 정렬 방법
페이지 정보

본문
그누보드5 게시판에서 댓글이 새로 등록될 때마다 원글을 최상단으로 정렬하는 방법을 설정하고 적용하는 절차를 안내합니다.
그누보드 최신 댓글 등록 순 게시판 목록 정렬 방법
그누보드에서 최신 댓글이 등록된 게시물 순서대로 게시판 목록을 재정렬하려면 관리자 파일 수정, 스킨 파일 생성 및 게시판 설정 변경을 진행해야 합니다. 이미 wr_1 필드를 다른 용도로 사용 중인 경우에는 겹치지 않는 다른 여분필드로 대체해야 합니다.
1. adm/board_form.php 파일 수정
관리자 페이지의 게시판 설정 화면에서 여분필드 정렬 옵션을 선택할 수 있도록 adm/board_form.php 파일의 리스트 정렬 필드 설정 부분에 아래 내용을 추가합니다.
<option value="wr_1 asc" <?php echo get_selected($board['bo_sort_field'], "wr_1 asc");?>>wr_1 asc: wr_1 오름차순</option>
<option value="wr_1 desc" <?php echo get_selected($board['bo_sort_field'], "wr_1 desc");?>>wr_1 desc: wr_1 내림차순</option>
최근 등록 날짜 기준이면 desc만 추가해도 됩니다.
2. 게시판 스킨 파일 생성
기본 스킨 폴더에 아래의 두 파일을 새로 생성하여 댓글이나 글 작성 시 원글의 여분필드에 현재 시간이 기록되도록 설정합니다.
2-1. writecommentupdate.skin.php 생성게시판 스킨 폴더에 write_comment_update.skin.php 파일을 새로 생성하고 아래 내용을 추가합니다.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
sql_query(" update $write_table set wr_1 = '".G5_TIME_YMDHIS."' where wr_id = '{$write['wr_id']}' ");
?>
2-2. write_update.skin.php 생성
게시판 스킨 폴더에 write_update.skin.php 파일을 새로 생성하고 아래 내용을 추가합니다.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
sql_query(
" update $write_table set wr_1 = '".G5_TIME_YMDHIS."' where wr_id = '$wr_id' ");
?>
3. 게시판 설정 변경 및 확인
- 파일 수정 및 생성 후 관리자 페이지의 게시판 설정으로 이동합니다.
- 리스트 정렬 필드를 방금 추가한
wr_1관련 정렬 값으로 선택하고 저장합니다. - 각 게시물에 댓글을 남겨 원글 여분필드
wr_1에 현재 시간이 정상적으로 업데이트되고, 새 코멘트가 등록된 게시물부터 상단으로 정렬되는지 확인합니다.
그누보드 최신 댓글 등록 순 게시판 목록 정렬 방법
그누보드5에서 최신 댓글이 등록된 게시물 순서대로 게시판 목록을 재정렬하려면 관리자 페이지 설정과 게시판 스킨 파일 수정이 필요합니다. 예제에서는 여분필드 wr_1을 활용합니다.
1. 관리자 파일 수정
adm/board_form.php 파일의 리스트 정렬 필드 설정 부분에 아래 내용을 추가합니다.
<option value="wr_1 asc" <?php echo get_selected($board['bo_sort_field'], "wr_1 asc");?>>wr_1 asc: wr_1 오름차순</option>
<option value="wr_1 desc" <?php echo get_selected($board['bo_sort_field'], "wr_1 desc");?>>wr_1 desc: wr_1 내림차순</option>
최근 등록 날짜 기준이면 desc만 추가해도 됩니다. 수정 후 게시판 설정에서 리스트 정렬 필드를 추가한 정렬 방법으로 선택합니다.
2. 스킨 파일 생성 및 수정
기본 스킨 폴더에 아래의 두 파일을 새로 생성합니다.
- writecommentupdate.skin.php 생성게시판 스킨 폴더에 파일을 만들고 아래 내용을 넣습니다.
<?php if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 sql_query(" update $write_table set wr_1 = '".G5_TIME_YMDHIS."' where wr_id = '{$write['wr_id']}' "); ?> - write_update.skin.php 생성게시판 스킨 폴더에 파일을 만들고 아래 내용을 넣습니다.
<?php if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 sql_query(" update $write_table set wr_1 = '".G5_TIME_YMDHIS."' where wr_id = '$wr_id' "); ?>
3. 주의사항 및 대체 방안
이미 wr_1 필드를 다른 용도로 사용하고 있다면 겹치지 않게 다른 여분필드로 대체하여 사용해야 합니다.
상황별 정렬 설정 가이드
| 내 상황 | 우선할 판단 | 다음 행동 |
|---|---|---|
wr_1 필드를 다른 용도나 본문 값으로 이미 사용 중인 경우 | 기존 데이터와 충돌을 막기 위해 다른 빈 여분필드 선택 | 사용하지 않는 wr_2 ~ wr_10 중 하나를 골라 코드와 설정의 필드명을 일괄 변경 |
| 게시판 스킨에 기본 파일이 없어 새로 만들어야 하는 경우 | write_update.skin.php와 write_comment_update.skin.php 파일 생성 | 스킨 폴더에 두 파일을 각각 만들고 원글의 여분필드에 현재 시간을 업데이트하는 쿼리문 추가 |
| 관리자 게시판 설정에서 정렬 옵션이 보이지 않는 경우 | adm/board_form.php 파일 수정 여부 확인 | 리스트 정렬 필드 설정 영역에 오름차순 및 내림차순 선택 옵션 HTML 코드 추가 후 저장 |
실전 FAQ
Q. 이미 wr_1 필드를 사용 중일 때 다른 필드로 바꾸려면 어떻게 하나요?
- A:
adm/board_form.php파일과 게시판 스킨 파일(write_update.skin.php,write_comment_update.skin.php) 내의wr_1부분을 사용하지 않는 다른 여분필드(예:wr_2등)로 모두 변경하고, 게시판 설정에서도 동일하게 해당 필드로 정렬을 지정하면 됩니다.
Q. 글을 수정하거나 새 댓글을 작성했는데도 목록 순서가 바뀌지 않습니다.
- A: 게시판 관리자 설정에서 '리스트 정렬 필드'가 올바르게 선택되어 저장되었는지 확인하고, 스킨 파일의 SQL 쿼리문(
G5_TIME_YMDHIS)이 정상적으로 동작하며 여분필드에 시간이 기록되고 있는지 DB 테이블에서 직접 확인해야 합니다.
함께 보면 좋은 글
- 그누보드 게시판 목록 랜덤 정렬(rand()) 설정 방법과 버전별 코드 수정
- 그누보드 관리자 페이지 게시판 목록 출력 순서대로 정렬하기
- 그누보드 관리자 페이지 최근 게시물 목록에서 댓글 제외하는 방법
참고자료
기타 참고자료
- 이전글그누보드 특정 게시판 내 카테고리(분류)별 PC 및 모바일 스킨 다르게 적용하는 방법 26.10.03
- 다음글그누보드 관리자 메인 및 회원목록 IP 출력과 너비 조절 방법 26.10.03
댓글목록
등록된 댓글이 없습니다.