BOARD

강좌·기초

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

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 20회 작성일 26-09-26 17:41

본문

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

그누보드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 등의 인자가 올바른 값을 가졌는지 점검합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.