리스트 게시판 정렬 필드를 hook로 추가하려고 합니다. 채택완료
adm/board_form.php 에서
리스트 게시판 정렬 필드에 rand()를 추가하려고 합니다.
코어파일을 건드리지 않으려고 hook를 사용하려고 하는데 냑에서 이미 준비를 해주었네요.
그런데 밥그릇을 보고 숟가락을 들지 못하고 있습니다.
lib/get_date.lib.php 406라인부터
</p>
<p>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', '날짜 이전것 부터'),</p>
<p>.</p>
<p>.</p>
<p>.</p>
<p>
이렇게 run_replace로 준비가 되어 있습니다.
요녀석을
</p>
<p>custom_function() {</p>
<p>}</p>
<p>add_replace('get_board_sort_fields', 'custom_function');</p>
<p>
이렇게 설정하는 것까지 준비를 했습니다.
여기서 문제가 생겼네요. 인자가 하나일 때에는 쉽게 해결했었는데 이렇게 array로 되어 있는 경우에는 어떻게 처리해야 하는지 모르겠네요.
코어파일(get_data.lib.php)에 추가할 때에는
</p>
<p>array('rand()', '랜덤'),</p>
<p>
요거 한줄만 추가하면 되는데
add_replace를 이용하려니 hook에서의 array처리 방법을 모르니 해결이 안됩니다.
고수님들의 도움 부탁드립니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
4년 전
이렇게 하시면 되긴 하는데요...
게시판에서 페이징때문에 order by rand()가 이상할텐데요...
1페이지에서 본 게시물 2페이지에서도 다시 볼 수도 있고...
</p>
<p>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()', '랜덤')));
}</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
4년 전
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
답변대기
채택
채택
답변대기
채택
답변대기
답변대기
채택
채택
답변대기
답변대기
채택
채택
답변대기
채택
답변대기
채택
답변대기
채택
게시판을 rand()할 때 페이징 문제는 항상 제기되는 문제라서 이미 포기했었습니다.
해당 게시판은 리스트 개수가 적은 숫자로 고정되어 있어 전체 리스트를 랜덤하는데 있어 이 문제에서 벗어날 수 있네요.
올려주신 코드가 매우 잘 작동합니다.
거듭 감사합니다 ^^;