리스트 게시판 정렬 필드를 hook로 추가하려고 합니다.

리스트 게시판 정렬 필드를 hook로 추가하려고 합니다.

QA

리스트 게시판 정렬 필드를 hook로 추가하려고 합니다.

본문

adm/board_form.php 에서

리스트 게시판 정렬 필드에 rand()를 추가하려고 합니다.

코어파일을 건드리지 않으려고 hook를 사용하려고 하는데 냑에서 이미 준비를 해주었네요.

그런데 밥그릇을 보고 숟가락을 들지 못하고 있습니다.

 

lib/get_date.lib.php 406라인부터


function get_board_sort_fields($board=array(), $make_key_return=''){
    $bo_sort_fields = run_replace('get_board_sort_fields', array(
        array('wr_num, wr_reply', '기본'),
        array('wr_datetime asc', '날짜 이전것 부터'),
.
.
.

이렇게 run_replace로 준비가 되어 있습니다.

 

요녀석을


custom_function() {
}
add_replace('get_board_sort_fields', 'custom_function');

이렇게 설정하는 것까지 준비를 했습니다.

 

여기서 문제가 생겼네요. 인자가 하나일 때에는 쉽게 해결했었는데 이렇게 array로 되어 있는 경우에는 어떻게 처리해야 하는지 모르겠네요.

코어파일(get_data.lib.php)에 추가할 때에는


array('rand()', '랜덤'),

요거 한줄만 추가하면 되는데

add_replace를 이용하려니 hook에서의 array처리 방법을 모르니 해결이 안됩니다.

 

고수님들의 도움 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 1

이렇게 하시면 되긴 하는데요...

게시판에서 페이징때문에 order by rand()가 이상할텐데요...

1페이지에서 본 게시물 2페이지에서도 다시 볼 수도 있고...

 


add_replace('get_board_sort_fields', 'custom_function', 10, 5);
function custom_function($array, $board, $make_key_return) {
    return array_merge($array, array(array('rand()', '랜덤')));
}

답변 감사합니다 :)
게시판을 rand()할 때 페이징 문제는 항상 제기되는 문제라서 이미 포기했었습니다.
해당 게시판은 리스트 개수가 적은 숫자로 고정되어 있어 전체 리스트를 랜덤하는데 있어 이 문제에서 벗어날 수 있네요.
올려주신 코드가 매우 잘 작동합니다.
거듭 감사합니다 ^^;

답변을 작성하시기 전에 로그인 해주세요.
전체 32
QA 내용 검색
filter #hook ×

회원로그인

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