그누보드 게시판 list.skin.php 구조 분석 및 커스터마이징 가이드
페이지 정보

본문
그누보드 게시판 list.skin.php 구조 분석 및 커스터마이징 가이드
그누보드 게시판 목록 스킨(list.skin.php)의 코드 구조를 이해하고, 목록 화면에 수정·삭제 버튼과 답글 개수를 추가하는 구체적인 방법을 알아봅니다.
그누보드 게시판 목록 화면에 수정 및 삭제 버튼 추가하기
그누보드 게시판 목록 스킨 파일인 list.skin.php의 게시물 반복문(for ($i=0; $i<count($list); $i++)) 전후로 권한별 링크 생성 변수를 추가하고, 원하는 위치에 마크업을 삽입하여 상세페이지로 이동하지 않고도 목록에서 바로 수정과 삭제가 가능하도록 설정할 수 있습니다.
1. 수정 및 삭제 링크 변수 추가
list.skin.php 파일 내 for ($i=0; $i<count($list); $i++) 구문 기준 위와 아래에 로그인 상태, 작성자 일치 여부, 관리자 권한에 따른 $update_href 및 $delete_href 생성 로직을 추가합니다.
$update_href = $delete_href = '';
set_session('ss_delete_token', $token = uniqid(time()));
for ($i=0; $i<count($list); $i++) {
// 로그인 중이고 자신의 글이라면 또는 관리자라면 비밀번호를 묻지 않고 바로 수정, 삭제 가능
if (($member['mb_id'] && ($member['mb_id'] === $list[$i]['mb_id'])) || $is_admin) {
$update_href = './write.php?w=u&bo_table='.$bo_table.'&wr_id='.$list[$i]['wr_id'].'&page='.$page.$qstr;
$delete_href = './delete.php?bo_table='.$bo_table.'&wr_id='.$list[$i]['wr_id'].'&token='.$token.'&page='.$page.urldecode($qstr);
} else if (!$list[$i]['mb_id']) {
// 회원이 쓴 글이 아니라면
$update_href = './password.php?w=u&bo_table='.$bo_table.'&wr_id='.$list[$i]['wr_id'].'&page='.$page.$qstr;
$delete_href = './password.php?w=d&bo_table='.$bo_table.'&wr_id='.$list[$i]['wr_id'].'&page='.$page.$qstr;
}
2. 그누보드 5.4 이상 짧은주소 대응
그누보드 5.4 버전 이상에서 짧은주소 기능을 사용하는 경우, $update_href 변수 생성 코드를 아래와 같이 변경하여 short_url_clean 함수를 반영합니다.
$update_href = short_url_clean(G5_BBS_URL.'/write.php?w=u&bo_table='.$bo_table.'&wr_id='.$list[$i]['wr_id'].'&page='.$page.$qstr);
3. 목록 루프 내 버튼 마크업 추가
게시물 루프 내부에서 수정 및 삭제 버튼을 노출하고자 하는 위치에 아래의 앵커 태그 마크업을 추가합니다.
<!-- 삭제 버튼 -->
<?php if ($delete_href) { ?><a href="<?php echo $delete_href ?>" onclick="del(this.href); return false;">삭제</a><?php } ?>
<!-- 수정 버튼 -->
<?php if ($update_href) { ?><a href="<?php echo $update_href ?>">수정</a><?php } ?>
4. 확인 및 다음 행동
코드를 적용한 후 목록 화면에서 본인 작성 글 및 관리자 권한으로 로그인했을 때 수정/삭제 링크가 정상적으로 노출되며 동작하는지 확인합니다. 문제가 발생할 경우 원본 list.skin.php 파일을 백업해 둔 상태에서 코드를 다시 점검합니다.
함께 보면 좋은 글
- 그누보드4 게시판 목록 스킨(list.skin.php) 구조 분석 및 본문 출력 커스터마이징
- 그누보드 게시판 페이징 디자인 CSS 커스터마이징 방법
- 그누보드4 게시판 카테고리 가로 정렬 커스터마이징 방법과 주의사항
참고자료
기타 참고자료
- 이전글그누보드 SMS5 모듈 DB 테이블 접두사 변경 및 설정 방법 26.09.24
- 다음글그누보드 게시판 스킨 폴더 내 자동 인식 파일 목록과 포함 원리 26.09.04
댓글목록
등록된 댓글이 없습니다.