에티테마

그누보드 여분필드 이용하여 게시판 리스트정렬필드에 추가하기

페이지 정보

작성자 소프트존 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 작성일 21-03-26 18:44

본문

게시판의 리스트 정렬 필드 메뉴가 있습니다.
현재 기본은 게시물번호의 순서대로 정렬이 되기 때문에
임의로 추가한 값으로 정렬을 하기 위함 합니다.

그누보드의 경우 여분필드를 자주 이용하는데요. 
해당 여분필드에 숫자값을 넣어두고 게시판 정렬을 해야 하는 경우가 종종 생깁니다.
이런 경우 처리 방법 입니다.

그누보드의 버전마다 조금씩 틀리기 때문에 참고만 해주세요
테스트 버전은 그누보드 5.4.x 에서 정상작동할 것으로 예상 됩니다.


43d9254c277c881fa26351bddaf1cd4e_1616751526_08.png

아래 보시면 wr_3 에 이벤트후기날짜 를 넣어놨습니다.

해당 소스코드
lib/get_data_lib.php 안에
function get_board_sort_fields 을 먼저 찾습니다.
해당 함수 맨 하단에 아래와 같이 추가했습니다.

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', '날짜 이전것 부터'),
        array('wr_datetime desc', '날짜 최근것 부터'),
        array('wr_hit asc, wr_num, wr_reply', '조회수 낮은것 부터'),
        array('wr_hit desc, wr_num, wr_reply', '조회수 높은것 부터'),
        array('wr_last asc', '최근글 이전것 부터'),
        array('wr_last desc', '최근글 최근것 부터'),
        array('wr_comment asc, wr_num, wr_reply', '댓글수 낮은것 부터'),
        array('wr_comment desc, wr_num, wr_reply', '댓글수 높은것 부터'),
        array('wr_good asc, wr_num, wr_reply', '추천수 낮은것 부터'),
        array('wr_good desc, wr_num, wr_reply', '추천수 높은것 부터'),
        array('wr_nogood asc, wr_num, wr_reply', '비추천수 낮은것 부터'),
        array('wr_nogood desc, wr_num, wr_reply', '비추천수 높은것 부터'),
        array('wr_subject asc, wr_num, wr_reply', '제목 오름차순'),
        array('wr_subject desc, wr_num, wr_reply', '제목 내림차순'),
        array('wr_name asc, wr_num, wr_reply', '글쓴이 오름차순'),
        array('wr_name desc, wr_num, wr_reply', '글쓴이 내림차순'),
        array('ca_name asc, wr_num, wr_reply', '분류명 오름차순'),
        array('ca_name desc, wr_num, wr_reply', '분류명 내림차순'),
 array('wr_3 desc, wr_num, wr_reply', '이벤트후기날짜 내림차순'),


여기서 먼저 추가하면 되지 않고 다른곳 한군데 더 추가해줍니다.
/bbs/list.php 파일을 여시면
약 166 번째줄쯤에
$sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood|wr_3)$/i", $sst) ? $sst : "";
위와 같은 부분이 있습니다. 위 처럼 wr_3 을 추가해 줍니다.

사용법이 따로 있다는둥 말들이 많은데요. 퍼포먼스 좋게 만들어서 사용하면 그만 아닐까요?
참고로 varchar 형이므로 속도가 현저히 떨어질 수 있습니다.
이런 경우 숫자만 들어가는 경우 int 형으로 변경하시거나 index 를 태워도 될것 같습니다.












  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기

댓글목록

등록된 댓글이 없습니다.