그누보드 그룹별 최신글 반복 출력 및 캐시 반영 지연 해결 방법
페이지 정보

본문
증상 및 원인
그룹별 최신글 스킨을 적용했을 때 게시물이 의도와 다르게 반복해서 출력되거나, 새 글을 작성했음에도 최신글 목록에 바로 반영되지 않고 지연되는 현상이 발생할 수 있습니다.
이는 최신글을 추출하는 함수 코드가 반복문(Loop) 내부에 잘못 배치되었거나, 캐시 파일 삭제 함수에 그룹 캐시 관련 삭제 로직이 누락되었기 때문에 발생합니다.
최신글 반복 출력 해결 방법
최신글을 불러오는 latest() 함수가 데이터 조회용 반복문 내부에 포함되어 있는지 확인해야 합니다. 해당 코드가 루프 내부에 있다면 반복해서 출력이 일어나므로, 코드를 루프 외부로 이동하거나 별도로 분리해야 합니다.
// 잘못된 예: 루프 내부에 최신글 함수가 포함된 경우 반복 출력 발생
for ($i=0; $row=sql_fetch_array($result); $i++) {
echo latest("basic", $row['bo_table'], 5, 25);
}캐시 반영 지연 해결 방법
새 글이 등록되거나 삭제되어도 캐시 때문에 즉시 반영되지 않는 경우, /lib/common.lib.php 파일 내의 캐시 삭제 함수에 그룹 캐시 삭제 로직을 추가하여 해결할 수 있습니다.
코어 파일을 직접 수정하는 작업이므로 수정 전 반드시 원본 파일을 백업하시기 바랍니다.
// /lib/common.lib.php 파일 내의 delete_cache_latest 함수 수정 예시
function delete_cache_latest($bo_table) {
$files = glob(G5_DATA_PATH.'/cache/latest-'.$bo_table.'-*');
if (is_array($files)) {
foreach ($files as $filename) unlink($filename);
}
$files2 = glob(G5_DATA_PATH.'/cache/latest-group-*');
if (is_array($files2)) {
foreach ($files2 as $filename) unlink($filename);
}
}적용 후 결과 확인 및 복구 방법
코드를 수정한 후 새로운 게시물을 작성하거나 삭제하여 최신글 목록과 그룹별 캐시가 지연 없이 즉시 반영되는지 확인합니다. 만약 예기치 않은 오류가 발생할 경우 사전에 백업해둔 원본 common.lib.php 파일을 복원하여 원래 상태로 되돌릴 수 있습니다.
함께 보면 좋은 글
- 이전글그누보드 latest_group.lib.php 사용 시 그룹 ID 혼동 및 캐시 에러 해결 방법 26.09.13
- 다음글그누보드 최신글 제목 길이에 따른 레이아웃 깨짐 현상 해결 방법 26.09.13
댓글목록
등록된 댓글이 없습니다.