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

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

QA

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

본문

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

 

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

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

 

이전에 올라온 글에서는 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() 라인을 주석 처리해 보세요.

답변 감사합니다
pc를 꺼서 내일 해봐야겠네요

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

이 소스는 어디에 추가해 주면 될까요?

답변을 작성하시기 전에 로그인 해주세요.
전체 123,587 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT