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

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

· 2년 전 · 813

// 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로 대체수정했습니다.

댓글 작성

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

로그인하기

게시글 목록

번호 제목
3199
3198
3197
3196
3195
3194
3192
3191
3190
3189
3188
3187
3186
3185
3184
3183
3182
3181
3180
3179
3178
3177
3176
3175
3174
3173
3172
3171
3170
3169