등록된 글이 없거나 페이지당 목록수보다 적어도 페이징 번호 출력하기
관리자 18-06-30 14:52
게시판에 글이 하나도 없거나 게시판 설정에 있는 페이지당 목록 수보다 적으면
게시판 하단 페이징 번호는 출력되지 않는데 조건을 만족하지 못해도 무조건 출력하는 방법입니다.
수정파일 : lib/common.lib.php
파일 시작 부분에 페이징 함수가 있습니다.
게시판 하단 페이징 번호는 출력되지 않는데 조건을 만족하지 못해도 무조건 출력하는 방법입니다.
수정파일 : 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 "";
}
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 "";
}
로그인 후 댓글 작성 가능합니다.