그누보드 새글(new.php) 페이지 스킨 아이콘 출력 및 커스터마이징 방법
페이지 정보

본문
그누보드5의 새글(new.php) 페이지 목록에 댓글 수, NEW, 링크, 파일, 비밀글 아이콘을 추가하고 스킨을 커스터마이징하는 구체적인 절차를 확인합니다.
bbs/new.php 파일에 아이콘 출력 로직 추가 방법
그누보드 원본 bbs/new.php 파일에는 댓글 수나 새글, 링크, 파일, 비밀글 등의 아이콘 출력 로직이 포함되어 있지 않으므로, 해당 데이터를 불러오도록 코드를 추가해야 합니다.
1. 수정 위치 및 코드 추가
bbs/new.php 파일을 열고 코드 내 날짜 및 시간 처리 로직 하단에 아래의 아이콘 출력 코드를 추가합니다. 전체를 다 넣을 필요 없이 필요한 아이콘 출력 부분만 선택하여 넣을 수도 있으며, 코멘트글은 NEW 및 비밀글 아이콘만 출력되도록 구분되어 있습니다.
// 아이콘 출력 여기서부터 추가 시작
if ($row['wr_id'] == $row['wr_parent']) {
$list[$i]['comment_cnt'] = '';
if ($row2['wr_comment'])
$list[$i]['comment_cnt'] = "<span class=\"cnt_cmt\">".$list[$i]['wr_comment']."</span>";
$list[$i]['icon_link'] = '';
if ($row2['wr_link1'] || $row2['wr_link2'])
$list[$i]['icon_link'] = '<img src="'.$new_skin_url.'/img/icon_link.gif" alt="관련링크">';
$list[$i]['icon_secret'] = '';
if (strstr($list[$i]['wr_option'], 'secret'))
$list[$i]['icon_secret'] = '<img src="'.$new_skin_url.'/img/icon_secret.gif" alt="비밀글">';
$list[$i]['icon_new'] = '';
if ($row2['wr_datetime'] >= date("Y-m-d H:i:s", G5_SERVER_TIME - (24 * 3600)))
$list[$i]['icon_new'] = '<img src="'.$new_skin_url.'/img/icon_new.gif" alt="새글">';
$list[$i]['file']['count'] = $row2['wr_file'];
if ($list[$i]['file']['count'])
$list[$i]['icon_file'] = '<img src="'.$new_skin_url.'/img/icon_file.gif" alt="첨부파일">';
} else {
$list[$i]['icon_secret'] = '';
if (strstr($list[$i]['wr_option'], 'secret'))
$list[$i]['icon_secret'] = '<img src="'.$new_skin_url.'/img/icon_secret.gif" alt="비밀글">';
$list[$i]['icon_new'] = '';
if ($row3['wr_datetime'] >= date("Y-m-d H:i:s", G5_SERVER_TIME - (24 * 3600)))
$list[$i]['icon_new'] = '<img src="'.$new_skin_url.'/img/icon_new.gif" alt="새글">';
}
// 아이콘 출력 여기까지 추가됨
2. 다음 단계
skin/new/basic/폴더 안에img폴더를 새로 생성하고,skin/latest/basic/img폴더에 있는 아이콘 이미지를 복사하여 추가합니다.skin/new/basic/new.skin.php파일의 제목 출력 부분을 수정하여 위에서 정의한 아이콘 변수들이 화면에 출력되도록 연결합니다.
skin/new/basic/new.skin.php 파일 수정 방법
그누보드 새글 페이지 목록에서 제목 옆에 댓글 수와 아이콘이 화면에 표시되도록 하려면 skin/new/basic/new.skin.php 파일을 수정해야 합니다.
1. 제목 출력 부분 변경
스킨 파일 내에서 제목이 출력되는 기존 코드를 찾아 아래 내용으로 교체합니다. 원하는 아이콘 출력 부분만 선택해서 넣어도 됩니다.
- 기존 코드 위치 탐색
<td><a href="<?php echo $list[$i]['href']?>"><?php echo $list[$i]['comment']?><?php echo $wr_subject?></a></td> - 교체할 코드
<td> <a href="<?php echo $list[$i]['href']?>"><?php echo $list[$i]['comment']?><?php echo $wr_subject?> <?php if ($list[$i]['comment_cnt']) echo $list[$i]['comment_cnt'];?></a> <?php if (isset($list[$i]['icon_new'])) echo " ". $list[$i]['icon_new']; if (isset($list[$i]['icon_file'])) echo " ". $list[$i]['icon_file']; if (isset($list[$i]['icon_link'])) echo " ". $list[$i]['icon_link']; if (isset($list[$i]['icon_secret'])) echo " ". $list[$i]['icon_secret']; ?> </td>
2. 다음 확인 사항
- 스킨 파일 수정 전
bbs/new.php파일에 아이콘 출력 로직이 선행되어 추가되어 있어야 합니다. skin/new/basic/폴더 안에img폴더를 새로 생성하고 관련 아이콘 이미지(icon_link.gif,icon_secret.gif,icon_new.gif,icon_file.gif등)가 존재해야 화면에 정상적으로 출력됩니다.
새글 스킨 아이콘 이미지 추가 경로
그누보드 새글(new.php) 페이지 스킨에 아이콘을 출력하려면 지정된 스킨 폴더 내부에 이미지 경로를 생성해야 합니다.
아이콘 이미지 추가 방법
skin/new/basic/폴더로 이동합니다.- 해당 경로 안에
img폴더를 새로 생성합니다. skin/latest/basic/img폴더에 있는 아이콘 이미지를 복사하여 새로 만든img폴더에 추가합니다.
새글 페이지(new.php) 복사 및 스킨 경로 설정 방법
그누보드에서 기본 bbs/new.php 파일을 유지한 채 복사하여 여러 개(예: new2.php)로 확장 운영하려면 파일 복사, 스킨 폴더 생성, 경로 변수 설정 순서로 진행해야 합니다.
1. 파일 및 스킨 복사
bbs/new.php파일을 원하는 이름으로 복사합니다. (예:new2.php)skin/new/basic스킨 폴더를 다른 이름으로 복사합니다. (예:basic2, 모바일 스킨 폴더에서도 동일하게 복사)
2. 스킨 경로 변수 수정
복사한 새글 파일(예: new2.php)을 열고 include_once('./_common.php'); 바로 아래에 모바일 및 PC 환경에 맞는 스킨 경로 변수 설정을 추가합니다. 마지막 부분의 따옴표와 세미콜론 누락에 주의해야 합니다.
if(G5_IS_MOBILE) {
$new_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/new/basic2'; // 스킨절대경로
$new_skin_url = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/new/basic2'; // 스킨경로
} else {
$new_skin_path = G5_SKIN_PATH.'/new/basic2'; // 스킨절대경로
$new_skin_url = G5_SKIN_URL.'/new/basic2'; // 스킨경로
}
상황별 적용 가이드
- 새글 페이지(new.php)에 아이콘(댓글 수, NEW, 링크, 파일, 비밀글)을 추가하고 싶을 때
- 선택 기준: 기본
new.php파일에는 아이콘 출력 로직이 없으므로, 데이터 처리 로직을 추가하고 스킨 파일의 제목 출력부를 수정해야 합니다. - 다음 행동:
bbs/new.php에 아이콘 배열 로직을 삽입하고,skin/new/basic/내에img폴더를 생성하여 아이콘 이미지를 배치한 뒤new.skin.php의 제목 출력 코드를 교체합니다.
- 선택 기준: 기본
- 새글 페이지를 복사하여 여러 개(예: new2.php)로 운영하고 싶을 때
- 선택 기준: 기본 페이지를 유지하면서 특정 그룹이나 게시판만 출력하는 별도 페이지가 필요할 때 사용합니다.
- 다음 행동:
bbs/new.php를 복사한 파일의_common.php하단에 모바일/PC 환경별 스킨 경로 변수($new_skin_path,$new_skin_url)를 복사한 스킨 폴더명에 맞춰 재설정합니다.
실행 중 막히는 점 및 대안
- Q. 아이콘이 출력되지 않아요.
- 대안:
bbs/new.php에 아이콘 출력 로직이 누락되지 않았는지 확인하세요. 또한skin/new/basic/img/경로에icon_new.gif등 필요한 이미지 파일이 실제 존재하는지 확인이 필요합니다.
- 대안:
- Q. 복사한 페이지(new2.php)가 작동하지 않습니다.
- 대안: 스킨 경로 설정 코드(
$new_skin_path등)에서 따옴표(')나 세미콜론(;)이 누락되었는지 확인하세요. 특히 모바일 경로 설정 시 오타가 발생하기 쉬우므로 PC 경로와 비교하여 정확히 입력되었는지 점검하십시오.
- 대안: 스킨 경로 설정 코드(
함께 보면 좋은 글
- 그누보드5 최신글 스킨 데이터 노출 범위 및 new 아이콘 표시 오류 해결 가이드
- 그누보드5 최신글 스킨 'new' 아이콘 표시 기간 및 시간 체크 로직 문제 해결
- 그누보드 슬라이드 스킨 애니메이션 및 레이아웃 커스터마이징 가이드
참고자료
기타 참고자료
- 이전글그누보드 회원가입 여분 필드 배열 데이터 처리 및 저장 가이드 26.09.30
- 다음글그누보드 게시판 스킨에 생년월일 및 출생시간·양력/음력 입력 필드 추가하기 26.09.30
댓글목록
등록된 댓글이 없습니다.