정후이

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

· 2년 전 · 891

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

|

댓글 작성

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

로그인하기
🐛 버그신고