공지글 등록순서가 아닌, 등록일 순으로 변경하기
게시물 출력순서는 게시판 설정에서 bo_sort_field 값을 조정하면됩니다만,
공지사항에는 적용되지 않습니다. 공지사항은 등록된 순서를 기준으로 항상 출력되는 것 같더라구요.
저 처럼 공지사항을 최신글(wr_datetime) 순서로 보고 싶으신 분은 아래 방법을 사용하셔도 됩니다.
1. 소스코드 찾기
- bbs/list.php
[code]
// 공지 처리
if (!$is_search_bbs) {
$arr_notice = explode(',', trim($board['bo_notice']));
$from_notice_idx = ($page - 1) * $page_rows;
if($from_notice_idx < 0)
$from_notice_idx = 0;
$board_notice_count = count($arr_notice);
for ($k=0; $k<$board_notice_count; $k++) {
if (trim($arr_notice[$k]) == '') continue;
$row = sql_fetch(" select * from {$write_table} where wr_id = '{$arr_notice[$k]}' ");
if (!$row['wr_id']) continue;
$notice_array[] = $row['wr_id'];
if($k < $from_notice_idx) continue;
$list[$i] = get_list($row, $board, $board_skin_url, G5_IS_MOBILE ? $board['bo_mobile_subject_len'] : $board['bo_subject_len']);
$list[$i]['is_notice'] = true;
$i++;
$notice_count++;
if($notice_count >= $list_page_rows)
break;
}
}
[/code]
2. 위의 내용 바로 아래에 적기
[code]
// 공지사항 날짜순으로 재정렬
usort($list, function($b, $a) {
return $a['wr_datetime'] - $b['wr_datetime'];
});
[/code]
이 코드를 넣어주시면 됩니다. 그러면 공지 순서가 최신글이 위쪽에 보이도록 나옵니다.
게시물을 담는 $list 배열에 일반글 보다 공지사항 글부터 먼저 정리가 되는데, 이 타이밍에 wr_datetime 배열값을 기준으로 재정렬해 놓는 방법입니다.
common.php 에서 $board['bo_notice'] 변수를 get_board_db 함수로 정리할 때, 하려고보니까 mysql 쿼리문을 계속 날려야겠어서 그냥 $list 정리 할 때 배열변수를 재정렬 하는 방법으로 처리했는데.. 더 좋은 방법 아시는 분 알려주세요! ^_^
댓글 3개
게시판 목록
그누보드5 팁자료실
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 공지 | 3년 전 | 4427 | ||
| 2634 | 6개월 전 | 611 | ||
| 2633 | 6개월 전 | 601 | ||
| 2632 |
|
7개월 전 | 511 | |
| 2631 | 7개월 전 | 572 | ||
| 2630 |
세르반데스
|
7개월 전 | 538 | |
| 2629 | 7개월 전 | 729 | ||
| 2628 | 7개월 전 | 412 | ||
| 2627 | 7개월 전 | 421 | ||
| 2626 |
이슈DEV
|
7개월 전 | 642 | |
| 2625 |
welcome
|
7개월 전 | 648 | |
| 2624 |
이슈DEV
|
7개월 전 | 449 | |
| 2623 | 7개월 전 | 409 | ||
| 2622 | 7개월 전 | 496 | ||
| 2621 | 7개월 전 | 354 | ||
| 2620 |
|
7개월 전 | 370 | |
| 2619 | 7개월 전 | 479 | ||
| 2618 | 7개월 전 | 466 | ||
| 2617 | 7개월 전 | 556 | ||
| 2616 | 7개월 전 | 680 | ||
| 2615 | 8개월 전 | 585 | ||
| 2614 | 8개월 전 | 411 | ||
| 2613 |
바닐라코드
|
8개월 전 | 732 | |
| 2612 | 8개월 전 | 596 | ||
| 2611 | 8개월 전 | 733 | ||
| 2610 | 8개월 전 | 970 | ||
| 2609 | 8개월 전 | 509 | ||
| 2608 | 8개월 전 | 655 | ||
| 2607 | 8개월 전 | 632 | ||
| 2606 | 8개월 전 | 578 | ||
| 2605 | 8개월 전 | 604 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기