하단 페이징 입력창 2차 버전 > 그누보드5 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누보드5 팁자료실

하단 페이징 입력창 2차 버전 정보

하단 페이징 입력창 2차 버전

첨부파일

페이징 가운대로2차버전.png (40.8K) 1회 다운로드 2022-09-01 10:46:35

본문

안녕하세요..

"하단 페이지 페이징 입력창" 팁에서

6페이지 이상에서는 현재의 페이지 번호를 가운데로

고정(?)되는 팁입니다.

 

기존 common.lib.php의 get_paing함수에 변수를 조금 더 추가하였습니다.

자기 스타일에 맞는 것으로 선택하시면 됩니다.

이하는 동일 합니다.

 

 


 
// 한페이지에 보여줄 행, 현재페이지, 총페이지수, URL
function get_paging($write_pages, $cur_page, $total_page, $url, $add="")
{
    //$url = preg_replace('#&page=[0-9]*(&page=)$#', '$1', $url);
    $url = preg_replace('#(&)?page=[0-9]*#', '', $url);
    $url .= substr($url, -1) === '?' ? 'page=' : '&page=';
    $str = '';
    if ($cur_page > 1) {
        $str .= '<a href="'.$url.'1'.$add.'" class="pg_page pg_start" title="Go to 1"><i data-feather="chevrons-left"></i></a>'.PHP_EOL;
    }
    $start_page = ( ( (int)( ($cur_page - 1 ) / $write_pages ) ) * $write_pages ) + 1;
    $end_page = $start_page + $write_pages - 1;
    $midval = floor( $write_pages/2 );  //9-1 추가
    if ($end_page >= $total_page) $end_page = $total_page;
    if ($cur_page > 1) $str .= '<a href="'.$url.($cur_page-1).$add.'" class="pg_page pg_prev" title="Go to '.($cur_page-1).'"><i data-feather="chevron-left"></i></a>'.PHP_EOL;
    if ($total_page > 1) {
        if ( $cur_page <= 5) {  //9-1 추가
            for ($k=$start_page;$k<=$end_page;$k++) {
                if ($cur_page != $k)
                    $str .= '<a href="'.$url.$k.$add.'" class="pg_page">'.$k.'<span class="sound_only">Page</span></a>'.PHP_EOL;
                else
                    $str .= '<span class="sound_only">열린</span><strong class="pg_current">'.$k.'</strong><span class="sound_only">Page</span>'.PHP_EOL;
            }
        }else{  //9-1 추가
            $s_pg = $cur_page - $midval + 1 ;
            $e_pg = $cur_page + $midval - 1 ;
            if ( $e_pg >= $total_page ) $e_pg = $total_page;
            for ($k=$s_pg;$k<=$e_pg;$k++) {
                if ($cur_page != $k)
                    $str .= '<a href="'.$url.$k.$add.'" class="pg_page">'.$k.'<span class="sound_only">Page</span></a>'.PHP_EOL;
                else
                    $str .= '<span class="sound_only">열린</span><strong class="pg_current">'.$k.'</strong><span class="sound_only">Page</span>'.PHP_EOL;
            }
        }
    }
    if ($cur_page < $total_page) $str .= '<a href="'.$url.($cur_page+1).$add.'" class="pg_page pg_next" title="Go to '.($cur_page+1).'"><i data-feather="chevron-right"></i></a>'.PHP_EOL;
    if ($cur_page < $total_page) {
        $str .= '<a href="'.$url.$total_page.$add.'" class="pg_page pg_end" title="Go to '.$total_page.'"><i data-feather="chevrons-right"></i></a>'.PHP_EOL;
    }
    if ($total_page > 10) {   //2022-08-29 추가
        if ($k >= $total_page) $k = $total_page;
        $str .= ' GO ';
        $str .= '<input type="text" id="goinput" class="pg_page" style="width: 40px;background:white;" value="'.$k.'" >';
        $str .= '<a href="'.$url.$k.'" id="gotopg" class="pg_page"><i data-feather="skip-forward"></i></a>'.PHP_EOL;
    }
    if ($str)
        return "<nav class=\"pg_wrap\"><span class=\"pg\">{$str}</span></nav>";
    else
        return "";
}
 
추천
8

댓글 8개

전체 2,431 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT