1페이지에 들어가면 1이 없고 그냥 자유게시판 페이지 이렇게 됩니다

1페이지에 들어가면 1이 없고 그냥 자유게시판 페이지 이렇게 됩니다

QA

1페이지에 들어가면 1이 없고 그냥 자유게시판 페이지 이렇게 됩니다

본문

자유게시판 들어가면 타이틀 제목이 

자유게시판  페이지 이렇게 뜹니다

 

예전에 사용할땐 자유게시판 1페이지 이렇게 떴거든요

 

소스를 보니까 common.php 에서

if (isset($_REQUEST['page'])) { // 리스트 페이지
    $page = (int)$_REQUEST['page'];
    if ($page)
        $qstr .= '&page=' . urlencode($page);
} else {
    $page = '';   <=== 여기가 0에서 '' 으로 바뀌어있더라구요..
}

 

위에소스떄문에 그런것같은데.. 이건 의도된건가요??

지금 그누보드 최신버전을 설치했는데 그렇게 보이거든요

이 질문에 댓글 쓰기 :

답변 2

네, 해당 코드 변경으로 인해 타이틀에 표시되는 페이지 번호가 영향을 받았을 가능성이 높습니다.

? 변경 사항 분석

기존 코드에서는 $page = 0; 이었고, 최신 버전에서는 $page = '';로 바뀌었습니다.
이 차이가 어떤 영향을 미치는지 살펴보면:

  1. 기존 ($page = 0;)

    • $_REQUEST['page'] 값이 없을 경우 $page0으로 설정됨.

    • 이후 타이틀에서 자유게시판 0페이지 대신 자유게시판 1페이지로 변환하는 로직이 있었을 가능성이 있음.

  2. 변경 후 ($page = '';)

    • $_REQUEST['page'] 값이 없으면 $page는 빈 문자열 ''이 됨.

    • 타이틀 생성 시 자유게시판 페이지처럼 페이지 번호 없이 표시될 가능성이 있음.

? 해결 방법

방법 1: $page 기본값을 1로 설정

if (isset($_REQUEST['page'])) { 
    $page = (int)$_REQUEST['page'];
    if ($page)
        $qstr .= '&page=' . urlencode($page);
} else {
    $page = 1;  // 기본값을 1로 설정
}

이렇게 하면 페이지 값이 없을 때 자동으로 1페이지라고 표시될 겁니다.

방법 2: 타이틀 출력 부분 수정
만약 $page 값이 빈 문자열일 때 기본적으로 1페이지로 나오게 하고 싶다면, 타이틀을 생성하는 부분을 아래처럼 수정하면 됩니다.

$title = "자유게시판 " . ($page ? $page . "페이지" : "1페이지");

✍ 결론

그누보드 최신 버전에서 $page = '';로 바뀐 건 의도적인 변경일 수도 있지만, 이로 인해 타이틀에서 페이지 번호가 표시되지 않는 문제가 발생할 수 있습니다.
따라서 위 해결 방법 중 하나를 적용하면 원하는 결과를 얻을 수 있을 것입니다. ?

 

 

chatgpt 답변입니다.

$page는 5 버전때부터 동일하게 적용된 부분이라 그렇게 보이는듯 한데

이전에 언제 그렇게 보인건지는 모르겠지만

예전 그누보드4 버전에서는 페이징 정보가 넘어오면 페이징 번호를 보여준걸로 보여지긴 합니다.

저 부분이 1페이지 일경우 일부로 그냥 게시판명만 보이게 커스텀 해서 반영한게 아닐까 생각되니

원하신다면 그 부분을 수정해서 적용하면 되지 않을까 싶습니다.



 

답변을 작성하시기 전에 로그인 해주세요.
전체 188
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT