나리야빌더 사용중 페이징중에 바로 이전이나 다음 페이지가 동작이 안되는증상 해결 > 퍼블리셔팁

퍼블리셔팁

퍼블리싱과 관련된 유용한 정보를 공유하세요.
질문은 상단의 QA에서 해주시기 바랍니다.

나리야빌더 사용중 페이징중에 바로 이전이나 다음 페이지가 동작이 안되는증상 해결 정보

기타 나리야빌더 사용중 페이징중에 바로 이전이나 다음 페이지가 동작이 안되는증상 해결

본문

// BS3 Style
function na_paging($write_pages, $cur_page, $total_page, $url, $add='') {

    $first = '<i class="fa fa-angle-double-left"></i>';
    $prev = '<i class="fa fa-angle-left"></i>';
    $next = '<i class="fa fa-angle-right"></i>';
    $last = '<i class="fa fa-angle-double-right"></i>';

    $url = preg_replace('#(&)?page=[0-9]*#', '', $url);
    $url .= substr($url, -1) === '?' ? 'page=' : '&page=';

    if(!$cur_page) $cur_page = 1;
    if(!$total_page) $total_page = 1;

    $str = '';
    if($first) {
        if ($cur_page < 2) {
            $str .= '<li class="page-first page-item disabled"><a class="page-link">'.$first.'</a></li>';
        } else {
            $str .= '<li class="page-first page-item"><a class="page-link" href="'.$url.'1'.$add.'">'.$first.'<span class="sr-only">(first)</span></a></li>';
        }
    }

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

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

    if ($cur_page > 1) { 
        $str .= '<li class="page-prev page-item"><a class="page-link" href="'.$url.($cur_page-1).$add.'">'.$prev.'<span class="sr-only">(previous)</span></a></li>';
    } else {
        $str .= '<li class="page-prev page-item disabled"><a class="page-link">'.$prev.'</a></li>'; 
    }

    if ($total_page > 0){
        for ($k=$start_page;$k<=$end_page;$k++){
            if ($cur_page != $k) {
                $str .= '<li class="page-item"><a class="page-link" href="'.$url.$k.$add.'">'.$k.'</a></li>';
            } else {
                $str .= '<li class="page-item active" aria-current="page"><a class="page-link">'.$k.'<span class="sr-only">(current)</span>
</a></li>';
            }
        }
    }

    if ($cur_page < $end_page) {
        $str .= '<li class="page-next page-item"><a class="page-link" href="'.$url.($cur_page+1).$add.'">'.$next.'<span class="sr-only">(next)</span></a></li>';
    } else {
        $str .= '<li class="page-next page-item disabled"><a class="page-link">'.$next.'</a></li>';
    }

    if($last) {
        if ($cur_page < $total_page) {
            $str .= '<li class="page-last page-item"><a class="page-link" href="'.$url.($total_page).$add.'">'.$last.'<span class="sr-only">(last)</span></a></li>';
        } else {
            $str .= '<li class="page-last page-item disabled"><a class="page-link">'.$last.'</a></li>';
        }
    }

    return $str;
}

 

 

홈페이지 제작겸 공부하다가 나리야빌더에서 첫페이지와 끝페이지는 되지만 바로 이전과 다음페이지 버튼이 동작안하는것을 발견하여 부족한 지식이지만... 조금만 변경해서 수정했습니다.

코딩에 대해 잘모르시는분들은 참고하시면 좋을것같아요! 

 

start_page와 end_page  조건이 안맞아서 작동이 잘안되는거같더라구요...

var_dump찍으니 동일한카운트로 작동하여 cur_page로 대체수정했습니다.

추천
0

댓글 0개

전체 1,264
퍼블리셔팁 내용 검색

회원로그인

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