현타온다웹시장

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

· 2023-10-21 (토) 20:30:08 · 1482

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

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

퍼블리셔팁

1,282건

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

+
분류 제목 글쓴이 날짜 조회
CSS 25-12-27 조회 752
CSS 25-12-17 조회 517
CSS 25-12-07 조회 651
CSS 25-11-20 조회 575
CSS 25-11-15 조회 657
기타 25-09-21 조회 714
CSS 25-09-09 조회 1,062
CSS 25-09-05 조회 1,058
CSS 25-08-16 조회 1,113
기타 25-07-23 조회 956
CSS 25-07-17 조회 1,284
CSS 25-06-27 조회 1,188
CSS 25-06-12 조회 1,118
CSS 25-06-09 조회 1,168
CSS 25-06-07 조회 972
25-01-30 조회 1,146
HTML 25-01-23 조회 1,410
CSS 24-10-21 조회 1,318
23-12-10 조회 1,799
HTML 24-02-12 조회 1,247
CSS 24-02-11 조회 1,555
CSS 24-01-28 조회 1,494
HTML 23-11-05 조회 2,223
기타 23-10-21 조회 1,483
CSS 23-09-04 조회 2,067
HTML 23-07-13 조회 1,893
CSS 23-06-14 조회 1,792
23-05-04 조회 4,196
23-05-03 조회 5,925
23-06-01 조회 2,223