등록된 글이 없거나 페이지당 목록수보다 적어도 페이징 번호 출력하기 > 그누보드팁

본문 바로가기
전체검색

그누스킨닷컴

그누보드팁

그누보드 영카트 초보 사용자를 위한 기본 매뉴얼, 스킨 제작 기초강좌를 공유합니다.

등록된 글이 없거나 페이지당 목록수보다 적어도 페이징 번호 출력하기

페이지 정보

작성자 관리자 작성일18-06-30 14:52 조회371회

본문

게시판에 글이 하나도 없거나 게시판 설정에 있는 페이지당 목록 수보다 적으면
게시판 하단 페이징 번호는 출력되지 않는데 조건을 만족하지 못해도 무조건 출력하는 방법입니다.

08cf2ed370ba41c5bd343efbbbfb5afc_1530338090_3663.gif


수정파일 : lib/common.lib.php

파일 시작 부분에 페이징 함수가 있습니다.

// 한페이지에 보여줄 행, 현재페이지, 총페이지수, URL
function get_paging($write_pages, $cur_page, $total_page, $url, $add="")
{
.............
............
}


위 함수 전체를 이렇게 변경
빨간색으로 강조된 부분이 변경되거나 추가되었습니다.


// 한페이지에 보여줄 행, 현재페이지, 총페이지수, URL
function get_paging($write_pages, $cur_page, $total_page, $url, $add="")
{
    // $url = preg_replace('#&page=[0-9]*(&page=)$#', '$1', $url);
    $url = preg_replace('#&page=[0-9]*#', '', $url) . '&page=';

    $str = '';
    // if ($cur_page > 1) {
        $str .= '<a href="'.$url.'1'.$add.'" class="pg_page pg_start">처음</a>'.PHP_EOL;
    // }

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

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

    if ($start_page > 1) $str .= '<a href="'.$url.($start_page-1).$add.'" class="pg_page pg_prev">이전</a>'.PHP_EOL;

    if (!$start_page) $start_page = 1;
    if (!$end_page) $end_page = 1;

    // if ($total_page > 1) {
        for ($k=$start_page;$k<=$end_page;$k++) {
            if ($cur_page != $k)
                $str .= '<a href="'.$url.$k.$add.'" class="pg_page">'.$k.'<span class="sound_only">페이지</span></a>'.PHP_EOL;
            else
                $str .= '<span class="sound_only">열린</span><strong class="pg_current">'.$k.'</strong><span class="sound_only">페이지</span>'.PHP_EOL;
        }
    // }

    if ($total_page > $end_page) $str .= '<a href="'.$url.($end_page+1).$add.'" class="pg_page pg_next">다음</a>'.PHP_EOL;

    // if ($cur_page < $total_page) {
        $str .= '<a href="'.$url.$total_page.$add.'" class="pg_page pg_end">맨끝</a>'.PHP_EOL;
    // }

    if ($str)
        return "<nav class=\"pg_wrap\"><span class=\"pg\">{$str}</span></nav>";
    else
        return "";
}
커뮤니티는 당분간 중단하겠습니다.
그누보드팁 목록
번호 제목
공지 그누보드 팁 자료실 공지사항
137 그누보드 설치 에러 Connect Error: Access denied for user
136 그누보드 전체 파일에서 특정 글자나 함수 일괄 찾기 - 에디트플러스 사용
135 게시판 사이드뷰 체크시 회원 아이콘만 출력하고 링크는 금지
134 게시판에 글을 올릴 때 회원도 자동등록방지 캡챠(kcaptcha)코드 적용하기
133 환경 설정에 있는 그누보드 설정 여분 필드 사용 방법
132 카페24 웹호스팅 phpMyAdmin 직접 설치하기
131 관리자 아이디가 사라졌을 때 특정 회원을 관리자로 지정하기
130 사이트 로그인이 안 될 때 기본적으로 체크해야 할 사항
129 파일을 수정했는데 상단에 알 수 없는 여백이 생겨요.
128 통합 검색에서 전체 게시판이 아닌 특정 게시판을 지정해서 검색
127 관리자 페이지에서 출력 순서대로 게시판 목록 정렬
126 관리자 페이지 회원 목록에서 회원 정보 일괄 수정하기
125 포인트 내역 전체 초기화 모든 회원 포인트를 0으로 변경
124 게시판 페이지 타이틀 수정 방법
123 메일 발송 기능 사용 시 네이버 스팸메일함으로 분류되는 원인
122 게시판 글 등록 시 메일 발송 비회원은 발송되지 않을 때 해결 방법
121 전체 최신글에서 특정 게시판 출력 제외하기
120 메뉴 설정에서 메뉴코드 me_code 출력하기
119 특정 메뉴 색상을 다르게 설정하기
118 어느 검색 사이트에서 링크 타고 왔는지 확인하는 방법
117 에디터 입력화면 세로 높이 수정 smarteditor2, ckeditor4, cheditor5
116 오토셋(Autoset) 사용방법6 - 가상 호스트 설정 댓글2
115 네이버 소셜로그인 네아로 검수요청 신청서 작성 방법
114 파일 업로드시 파일명 변경 없이 원본 그대로 업로드
게시물 검색


그누스터디는 그누보드, 영카트 초보 사용자를 위한 정보를 공유합니다.

Copyright © GNUSTUDY. All rights reserved.
상단으로