그누보드5 페이징을 Bootstrap Pagination으로 변경 > 그누보드5 팁자료실

그누보드5 팁자료실

그누보드5 페이징을 Bootstrap Pagination으로 변경 정보

그누보드5 페이징을 Bootstrap Pagination으로 변경

본문

extend 폴더에 user.config.php 파일에 아래 함수를 추가합니다.

bbs/list.php 파일 199줄에

$write_pages = get_paging2(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, './board.php?bo_table='.$bo_table.$qstr.'&page=');

로 수정해주세요.

 

함수명을 get_paging -> get_paging2 로 해주면 됩니다.

bbs/new.php 에도 위와 같이 수정하면 됩니다.



// 한페이지에 보여줄 행, 현재페이지, 총페이지수, URL
function get_paging2($write_pages, $cur_page, $total_page, $url, $add = "") {
    //$url = preg_replace('#&page=[0-9]*(&page=)$#', '$1', $url);
    $url = preg_replace('#&page=[0-9]*#', '', $url) . '&page=';

    $str = '';
    if ($cur_page > 1) {
        $str .= '<li>';
        $str .= '<a href="' . $url . '1' . $add . '" class="pg_page pg_start">처음</a>' . PHP_EOL;
        $str .= '</li>';
    }

    $start_page = ( ( (int) ( ($cur_page - 1 ) / $write_pages ) ) * $write_pages ) + 1;
    $end_page = $start_page + $write_pages - 1;

    if ($end_page >= $total_page) {
        $end_page = $total_page;
    }

    if ($start_page > 1) {
        $str .= '<li>';
        $str .= '<a href="' . $url . ($start_page - 1) . $add . '" class="pg_page pg_prev">이전</a>' . PHP_EOL;
        $str .= '</li>';
    }

    if ($total_page > 1) {
        for ($k = $start_page; $k <= $end_page; $k++) {
            if ($cur_page != $k) {
                $str .= '<li>';
                $str .= '<a href="' . $url . $k . $add . '" class="pg_page">' . $k . '<span class="sr-only">페이지</span></a>' . PHP_EOL;
                $str .= '</li>';
            } else {
                $str .= '<li class="active">';
                $str .= '<label class="sr-only">열린</label><a href="#">' . $k . '</a><label class="sr-only">페이지</label>' . PHP_EOL;
                $str .= '</li>';
            }
        }
    }

    if ($total_page > $end_page) {
        $str .= '<li>';
        $str .= '<a href="' . $url . ($end_page + 1) . $add . '" class="pg_page pg_next">다음</a>' . PHP_EOL;
        $str .= '</li>';
    }

    if ($cur_page < $total_page) {
        $str .= '<li>';
        $str .= '<a href="' . $url . $total_page . $add . '" class="pg_page pg_end">맨끝</a>' . PHP_EOL;
        $str .= '</li>';
    }

    if ($str) {
        return "<nav class=\"pg_wrap\"><ul class='pagination'>{$str}</ul></nav>";
    } else {
        return "";
    }
}

추천
4
  • 복사

댓글 1개

© SIRSOFT
현재 페이지 제일 처음으로