리스트 정렬 필드 추가하는법

리스트 정렬 필드 추가하는법

QA

리스트 정렬 필드 추가하는법

답변 2

본문

몇시간을 헤매다 결국 질문 게시판에 남겨봅니다. ㅠㅠ

 

게시글을 랜덤으로 출력해주고 싶어서 리스트 정렬 필드를 추가하는법 검색을 하였는데요. 

그누보드 소스가 바뀐듯 합니다. 

 

이전에 올라온 글에서는 board_form.php 파일에서 아래 값을 추가하라고 되있는데

 

<option value="rand()" <?php echo get_selected($board['bo_sort_field'], "rand()"); ?>>rand() 랜덤</option> 

 

현재 소스에는 이런부분이 없네요 ㅠㅠ

 

리스트 정렬 필드에 랜덤으로 출력을 하나 추가하려면 어떤 방법이 있을까요. ㅠㅠ

 

게시판에 나와있는건 전부다 검색해서 여기저기 소스에 넣어봐도 도저히 안됩니다. ㅠ

이 질문에 댓글 쓰기 :

답변 2

참고 https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=270

 

최신 버전에서는 수정 위치가 변경되었네요.

아래 파일에서 추가하세요. 

lib/get_data.lib.php

 

function get_board_sort_fields($board=array(), $make_key_return=''){

위 함수를 찾은 후 이렇게 추가.

array('rand()', '랜덤으로 정렬'),

bbs/list.php를 보면


// 정렬
// 인덱스 필드가 아니면 정렬에 사용하지 않음
//if (!$sst || ($sst && !(strstr($sst, 'wr_id') || strstr($sst, "wr_datetime")))) {
if (!$sst) {
...
} else {
    $board_sort_fields = get_board_sort_fields($board, 1);
    if (!$sod && array_key_exists($sst, $board_sort_fields)) {
        $sst = $board_sort_fields[$sst];
    } else {
        // 게시물 리스트의 정렬 대상 필드가 아니라면 공백으로 (nasca 님 09.06.16)
        // 리스트에서 다른 필드로 정렬을 하려면 아래의 코드에 해당 필드를 추가하세요.
        // $sst = preg_match("/^(wr_subject|wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
        // $sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
    }
}

이런 내용이 있습니다.

rand()가 여기서 걸러지기 때문에 안 되는 것으로 보입니다.

preg_match() 라인을 주석 처리해 보세요.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 75
© SIRSOFT
현재 페이지 제일 처음으로