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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
리스트 게시판 정렬 필드를 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()할 때 페이징 문제는 항상 제기되는 문제라서 이미 포기했었습니다.
해당 게시판은 리스트 개수가 적은 숫자로 고정되어 있어 전체 리스트를 랜덤하는데 있어 이 문제에서 벗어날 수 있네요.
올려주신 코드가 매우 잘 작동합니다.
거듭 감사합니다 ^^;

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

회원로그인

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