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 = '';로 바뀌었습니다.
이 차이가 어떤 영향을 미치는지 살펴보면:
-
기존 (
$page = 0;)-
$_REQUEST['page']값이 없을 경우$page는0으로 설정됨. -
이후 타이틀에서
자유게시판 0페이지대신자유게시판 1페이지로 변환하는 로직이 있었을 가능성이 있음.
-
-
변경 후 (
$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 답변입니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인