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

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

QA

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

답변 2

본문

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

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

 

예전에 사용할땐 자유게시판 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페이지 일경우 일부로 그냥 게시판명만 보이게 커스텀 해서 반영한게 아닐까 생각되니

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



 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 188
© SIRSOFT
현재 페이지 제일 처음으로