테스트 사이트 - 개발 중인 베타 버전입니다

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

· 2년 전 · 801

// 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('#(&amp;)?page=[0-9]*#', '', $url);
    $url .= substr($url, -1) === '?' ? 'page=' : '&amp;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로 대체수정했습니다.

댓글 작성

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

로그인하기

게시글 목록

번호 제목
3810
3809
3808
3806
3805
3804
3799
3798
3796
3795
3794
3790
3784
3779
3776
3775
3774
3767
3765
3761
3752
3748
3734
3730
3723
3719
3706
3686
3656
3655