그누보드5 최신글 스킨 제작: 웹진 형태(이미지+제목+내용) 구현 방법
페이지 정보

본문
그누보드5 최신글 스킨 제작: 웹진 형태(이미지+제목+내용) 구현 방법
1.
Q.
그누보드5 운영자와 개발자가 메인 페이지 등에 썸네일 이미지와 제목, 요약 본문이 함께 출력되는 웹진 형태의 최신글 스킨을 제작하고 설정하는 방법을 안내합니다.
그누보드5 웹진 형태 최신글 스킨 제작 구조와 코드
그누보드5에서 이미지, 제목, 본문 요약이 함께 출력되는 웹진 형태의 최신글 스킨은 썸네일 생성 기능과 본문 글자 수 제한(cut_str) 함수를 결합하여 구성합니다.
1. latest.skin.php 파일 상단 설정
파일 상단에 개별 페이지 접근 방지 코드와 썸네일 라이브러리 호출, 썸네일 가로·세로 사이즈 및 스타일시트 경로를 지정하는 코드를 추가합니다.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
$thumb_width = 120; // 썸네일 가로사이즈
$thumb_height = 100; // 썸네일 세로사이즈
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);
?>
2. 레이아웃 및 출력 구문 작성
테이블 구조를 활용하여 썸네일 이미지 칸(<td>)과 제목·내용 출력 칸을 배치합니다. 반복문 안에서 get_list_thumbnail 함수로 썸네일을 생성하고, 본문 내용은 cut_str과 strip_tags 함수를 조합하여 글자 수를 제한합니다.
<table width="350" border="0" cellspacing="0" cellpadding="0">
<?php for ($i=0; $i<count($list); $i++) {
$thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], $thumb_width, $thumb_height);
if($thumb['src']) {
$img_content = '<img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'" width="'.$thumb_width.'" height="'.$thumb_height.'">';
} else {
$img_content = '<img src="'.$latest_skin_url.'/img/noimage.gif" width="'.$thumb_width.'" height="'.$thumb_height.'">';
}
?>
<tr>
<td width="<?php echo $thumb_width?>">
<a href="<?php echo $list[$i]['href']?>"><?php echo $img_content?></a>
</td>
<td valign="top" style="padding:3px 10px">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<?php
echo "<a href=\"".$list[$i]['href']."\">";
echo "<strong>".$list[$i]['subject']."</strong>";
echo "</a>";
if (isset($list[$i]['icon_new'])) echo " ". $list[$i]['icon_new'];
?>
</td>
</tr>
<tr>
<td style="padding-top:8px;line-height:1.4em">
<?php echo cut_str(strip_tags($list[$i]['wr_content']), 110, "...");?>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" height="10"></td>
</tr>
<?php }?>
<?php if (count($list) == 0) { // 게시물이 없을 때?>
<tr><td height="50" colspan="2">등록된 게시물이 없습니다.</td></tr>
<?php }?>
</table>
상황별 판단 및 행동 지침
| 내 상황 | 우선할 판단 | 다음 행동 |
|---|---|---|
| 웹진 형태(이미지+제목+내용)의 최신글 스킨 제작이 필요함 | latest.skin.php 상단에 썸네일 라이브러리(thumbnail.lib.php) 포함 및 사이즈 설정 | get_list_thumbnail 함수와 cut_str(strip_tags(...)) 함수를 적용하여 테이블 레이아웃 구성 |
| 썸네일 생성 코드 추가 후 500 에러 발생 | 서버 에러 로그 확인 및 인자값 점검 | display_errors 설정 활성화 및 $bo_table, $wr_id 등 함수 인자 유효성 검사 |
| 본문 요약 글자 수 제한을 변경하거나 전체 출력을 원함 | cut_str 함수의 글자 수 숫자 변경 또는 함수 제거 | 스킨 파일 내 cut_str(strip_tags($list[$i]['wr_content']), 글자수, "...") 코드 수정 |
실전 FAQ
Q. 최신글 스킨에서 본문 내용을 일부만 보여주려면 어떻게 하나요?
- 실행 지점:
skin/latest/[스킨폴더]/latest.skin.php파일 내부의 본문 출력 영역 - 해결 방법:
cut_str(strip_tags($list[$i]['wr_content']), 110, "...")코드를 사용하여 HTML 태그를 제거한 순수 텍스트를 원하는 글자 수만큼 잘라서 출력합니다. 숫자를 수정하여 길이를 조절할 수 있습니다.
Q. get_list_thumbnail 함수 사용 중 500 에러가 발생할 때는 어떻게 해야 하나요?
- 막히는 지점: 최신글 스킨 적용 후 화면이 하얗게 변하거나 500 내부 서버 에러 발생
- 대안 및 예외 처리: 서버가 에러를 숨기고 있을 가능성이 높으므로
php.ini의display_errors를 켜거나 서버 에러 로그를 확인합니다. 또한 함수에 전달되는$bo_table이나$wr_id등의 인자가 올바른 값을 가졌는지 점검합니다.
함께 보면 좋은 글
- 그누보드5 최신글 갤러리 스킨 제작 기초와 썸네일·줄바꿈 구현 방법
- 그누보드5 최신글 스킨 목록형 가로 두 줄 레이아웃 구조 제작 방법
- 그누보드5 최신글 스킨 분류명(카테고리) 이미지 출력 커스터마이징 방법
참고자료
기타 참고자료
- 이전글그누보드5 최신글 스킨 기초: 작성날짜와 분류명 추가하기 26.09.26
- 다음글그누보드5 최신글 갤러리 스킨 제작 기초와 썸네일·줄바꿈 구현 방법 26.09.26
댓글목록
등록된 댓글이 없습니다.