2026, 새로운 도약을 시작합니다.

게시물의 순서를 맘대로 변경하고 수시로 변경 할 수 있는 스킨

20251107_162456.png

업체 리스트 또는 소개 형태의 게시판에서 프리미엄 업체 또는 공지사항 게시판을 원하는 순서대로 나오게 할 수 있는 게시판 스킨 입니다.

1./lib/get_data.lib.php 파일에서 get_board_sort_fields 함수에 
        array('ordar asc, wr_datetime desc', '오더순서지정'),
 이 내용을 추가

[code]

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('ordar asc, wr_datetime desc', '오더순서지정'), // 이 부분을 추가 합니다.
        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', '분류명 내림차순'),
    ), $board, $make_key_return);

    if( $make_key_return ){
        
        $returns = array();
        foreach( $bo_sort_fields as $v ){
            $key = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*\s]/", "", $v[0]);
            $returns[$key] = $v[0];
        }
        
        return $returns;
    }
    return $bo_sort_fields;
}

[/code]

2.게시판 설정의 리스트 정렬 필드에서 위의 '오더순서지정'을 선택 합니다.


write.skin.php 에서 ordar 라는 칼럼이 생성되고 관리자로 로그인 하면 

[code]

    <?php if ($is_admin) { ?>
    <div class="bo_w_info write_div">
            <label for="wr_name" class="sound_only">순서<strong>필수</strong></label>
            <input type="text" name="ordar" id="ordar" value="<?php echo (@$write['ordar']) ? $write['ordar'] : '999' ?>" class="frm_input half_input">
    </div>
    <?php } ?>

[/code]
이곳에서 숫자를 입력하여 순서를 변경 할 수 있습니다.
0이 맨위에 기본은 999 가 입력 됩니다.
같은 999 숫자가 입력되면 날짜가 최근인 것이 더 위로 나오게 됩니다.

3.검색을 해도 순서는 그대로 유지되고 페이지를 넘겨도 그대로 유지 됩니다.


order 칼럼명은 디비에서 약정된 단어라서 오류 나니 참고하세요 
ordar 로 하면 오류가 나지 않습니다.

basic-ordar 디렉토리는 skin/board/ 디렉토리 내에 업로드 합니다.
/lib/get_data.lib.php 파일은 직접 수정 하거나 혹시나 몰라서 백업 후 첨부된 것을 덮어쓰세요


다른스킨에도 쉽게 응용이 가능 합니다.

write.skin.php 에서 아래 두 부분만 추가해 주면 됩니다.
[code]

<?php
//페이지 맨위에 추가
sql_query(" ALTER TABLE `{$write_table}` ADD `ordar` int(11) NOT NULL DEFAULT '0' AFTER `wr_10` ", false);
?>
........................................................
   // 글쓰기 폼 내부에 추가
    <?php if ($is_admin) { ?>
    <div class="bo_w_info write_div">
            <label for="wr_name" class="sound_only">순서<strong>필수</strong></label>
            <input type="text" name="ordar" id="ordar" value="<?php echo (@$write['ordar']) ? $write['ordar'] : '999' ?>" class="frm_input half_input">
    </div>
    <?php } ?>

[/code]

많은 추천 부탁 드립니다.

첨부파일

20251107_162456.png (40.9 KB)
0회 2025-11-07 16:33
|

댓글 14개

감사합니다 ^^

감사합니다.

나는 다른 형식으로 쓰고있는데 이렇게도 한번 해봐야겠습니다. 일단 스크랩 해갑니다.~~감사합니다.^

네 감사합니다..

날짜로 해도 가능은 합니다..

좋은 자료 감사합니다.^^

감ㅅ합니다

설국열차님 필요했던 기능입니다
감사합니다^^

감사합니다

추천 많이 부탁 드립니다

감사합니다.

감사합니다.

와 진짜 유용하네요;; 매번 게시글 순서 좀 옮겨달라는 요청이 많았는데... 게시글 다른 게시판으로 옮기고 순서대로 다시 원래 게시판으로 옮기고 여간 귀찮은게 아니었는데 유용하게 쓰일 것 같네요!

네 감사합니다.

적용해 보겠습니다 ~!!!

캄사 ^^y

감사합니다 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기
🐛 버그신고