리스트 랜덤 노출 > 질문과 답변

본문 바로가기

질문과답변

[해결] 리스트 랜덤 노출

총 채택 포인트
10 포인트
채택된 회원에게 주는 후원 포인트
5 포인트
채택 후 작성자(nsta) 회수 포인트
5 포인트

본문

질문 하나만 더 드릴게요^^; 최신글에서는 목록이 랜덤 노출되는 방법이 있던데 게시판 list 자체를 랜덤 노출하려면 어디를 수정해야 할까요? 확인부탁드립니다. 감사합니다.

댓글목록5

이윰MOUNT님의 댓글

profile_image
안녕하세요.
적용해 보진 않았지만 아래 링크를 참고해 보시기 바랍니다.
https://sir.kr/qa/259807
감사합니다.

nsta님의 댓글

profile_image
혹시 해당 소스가 어디있을까요?
adm/board_form.php 에는 해당 소스가 없는 것 같던데..



        <select name=bo_sort_field>
        <option value=''>wr_num, wr_reply : 기본
        <option value='wr_datetime asc'>wr_datetime asc : 날짜 이전것 부터
        <option value='wr_datetime desc'>wr_datetime desc : 날짜 최근것 부터
        <option value='wr_hit asc, wr_num, wr_reply'>wr_hit asc : 조회수 낮은것 부터
        <option value='wr_hit desc, wr_num, wr_reply'>wr_hit desc : 조회수 높은것 부터
        <option value='wr_last asc'>wr_last asc : 최근글 이전것 부터
        <option value='wr_last desc'>wr_last desc : 최근글 최근것 부터
        <option value='wr_comment asc, wr_num, wr_reply'>wr_comment asc : 코멘트수 낮은것 부터
        <option value='wr_comment desc, wr_num, wr_reply'>wr_comment asc : 코멘트수 높은것 부터
        <option value='wr_good asc, wr_num, wr_reply'>wr_good asc : 추천수 낮은것 부터
        <option value='wr_good desc, wr_num, wr_reply'>wr_good asc : 추천수 높은것 부터
        <option value='wr_nogood asc, wr_num, wr_reply'>wr_nogood asc : 비추천수 낮은것 부터
        <option value='wr_nogood desc, wr_num, wr_reply'>wr_nogood asc : 비추천수 높은것 부터
        <option value='wr_subject asc, wr_num, wr_reply'>wr_subject : 제목 내림차순
        <option value='wr_subject desc, wr_num, wr_reply'>wr_subject : 제목 오름차순
        <option value='wr_name asc, wr_num, wr_reply'>wr_name : 글쓴이 내림차순
        <option value='wr_name desc, wr_num, wr_reply'>wr_name : 글쓴이 오름차순
        <option value='ca_name asc, wr_num, wr_reply'>ca_name : 분류명 내림차순
        <option value='ca_name desc, wr_num, wr_reply'>ca_name : 분류명 오름차순
        </select>



이윰 페이지에는 해당 소스가 이렇게 나와있는 것 같습니다.


<th scope="row"><label for="bo_sort_field">리스트 정렬 필드</label></th>
            <td>
                <?php echo help('리스트에서 기본으로 정렬에 사용할 필드를 선택합니다. "기본"으로 사용하지 않으시는 경우 속도가 느려질 수 있습니다.') ?>
                <select id="bo_sort_field" name="bo_sort_field">
                    <?php foreach (get_board_sort_fields($board) as $v) {
                        $option_value = $order_by_str = $v[0];
                        if ($v[0] === 'wr_num, wr_reply') {
                            $selected = (! $board['bo_sort_field']) ? 'selected="selected"' : '';
                            $option_value = '';
                        } else {
                            $selected = ($board['bo_sort_field'] === $v[0]) ? 'selected="selected"' : '';
                        }
                        
                        if ($order_by_str !== 'wr_num, wr_reply') {
                            $tmp = explode(',', $v[0]);
                            $order_by_str = $tmp[0];
                        }

                        echo '<option value="'.$option_value.'" '.$selected.' >'.$order_by_str.' : '.$v[1].'</option>';
                    } //end foreach ?>
                </select>
            </td>

NPIO님의 댓글

채택
profile_image
게시물의 리스트를 랜덤으로 출력하고자 한다면
그누보드 원본 소스를 수정하셔야 합니다.
방법은 아래와 같습니다.

-- 아 래 --
01. /lib/get_data.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('rand()', '랜덤'),
        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;
}


02. 관리자모드 > 게시판관리 > 게시판관리 > [수정] > 디자인/양식 > 리스트 정렬 필드 에서 "rand(): 랜덤" 속성 선택 후, 저장
------

위와 같이 설정하시면 게시판 자체에서 랜덤으로 게시물들이 출력됩니다.
감사합니다.

nsta님의 댓글

profile_image
잘 해결되었습니다.
감사합니다.

NPIO님의 댓글의 댓글

profile_image
이윰빌더 4.5.8 버전에서는 그누보드 원본소스를 수정하지 않고도 게시물을 랜덤으로 출력하도록 설정하는 기능이 추가되었습니다.
알려드린 소스를 원상복구하시고 이윰빌더 4.5.8 버전으로 업그레이드 하시면 동일하게 기능을 사용하실 수 있습니다.
참고하시기 바랍니다.
오늘도 행복한 하루 되세요.
이윰빌더 시즌4 질문과 답변 게시판입니다.

질문과 답변 게시판에는 가능한 이윰 관리자가 답변을 드리지 않습니다. 회원간 활성화 될수 있도록 도움 부탁드리며, 질문자는 원하는 답변이 달릴경우 꼭 채택하여 주시기 바랍니다.

상품구매 및 유료상품 문의는 1:1문의 게시판을 이용해 주시기 바랍니다.

1:1문의 바로가기 : https://eyoom.net/bbs/qalist.php

전체 8 건 - 1 페이지
번호
제목
글쓴이
채택포인트
사이트 내 전체검색