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 답변입니다.
$page는 5 버전때부터 동일하게 적용된 부분이라 그렇게 보이는듯 한데
이전에 언제 그렇게 보인건지는 모르겠지만
예전 그누보드4 버전에서는 페이징 정보가 넘어오면 페이징 번호를 보여준걸로 보여지긴 합니다.
저 부분이 1페이지 일경우 일부로 그냥 게시판명만 보이게 커스텀 해서 반영한게 아닐까 생각되니
원하신다면 그 부분을 수정해서 적용하면 되지 않을까 싶습니다.