최신글 스킨 제작 3 - 기초 예제 (웹진 형태) - 최신글스킨강좌, 그누보드5강좌

본문 바로가기
전체검색

최신글스킨강좌

그누보드, 영카트 초보 제작자분들을 위한 다양한 스킨 제작 활용 팁을 공유합니다.

최신글 스킨 제작 3 - 기초 예제 (웹진 형태)

관리자 15-10-04 20:50

첨부 이미지가 함께 출력되는 웹진 형태의 최신글 스킨을 만들어보겠습니다.


 
썸네일과 각 항목 기본 출력 방법은 이전 강좌를 참고하세요.
 
div+css 구조에 익숙하지 않은 분들을 위해 테이블 형태로 설명하겠습니다.
기본 구조만 이해하신 다음에 코드도 더 간단하게 하고 원하는 방법으로 다양하게 만들면 됩니다.
 
 
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. 그리고 제목, 내용, 썸네일 등 출력 부분을 넣어줍니다.

 

기본 형태는 다음과 같습니다.
 
<table>
<?php for ($i=0; $i<count($list); $i++) {
썸네일 생성 코드 추가 할 부분
?>
<tr>
    <td>썸네일 이미지</td>
    <td>게시물 제목, 내용 출력</td>
</tr>
<?php } ?>
</table>
 
 
목록 형태의 스킨에서 썸네일 생성을 위한 코드가 추가되었고 이미지가 들어갈 <td> 칸을 하나 더 추가했습니다.
참고해서 전체 소스를 작성해보면 이렇게 되겠죠.
 
<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>
    <td colspan="2" height="10"></td>
</tr>
</tr>
<?php } ?>
<?php if (count($list) == 0) { //게시물이 없을 때  ?>
<tr><td height="50" colspan="2">등록된 게시물이 없습니다.</td></tr>
<?php } ?>
</table>
 
  
목록 형태의 예제 스킨과 기본 구조는 똑같고 이미지가 들어갈 칸을 위해 <td>를 하나 더 추가했고
게시판 타이틀은 없애고 제목 출력 부분에서 필요 없는 코드는 없애고 제목, new 아이콘만 들어가게 해놨습니다.

타이틀이나 다른 부분들이 필요하다면 기본 스킨이나 이전 강좌 참고해서 넣어주면 됩니다.

 

 
width="<?php echo $thumb_width ?>" 파란색 부분은 이미지 칸 가로 사이즈 조절 부분인데

처음 상단에 보면 이렇게 썸네일 가로 사이즈를 정하는 부분이 있었죠.
$thumb_width=120; //썸네일 가로사이즈
이미지 사이즈를 변경할 일이 있을 때 저 수치가 자동으로 적용되게끔 해준 겁니다.
물론 상황에 따라 수치를 직접 넣어주셔도 됩니다.
<td width="120">
 
본문 내용 출력 부분은 글자 수 110자리 까지만 출력되게 해놨습니다.
<?php echo cut_str(strip_tags($list[$i]['wr_content']), 110, "..."); ?>
 
작성날짜, 작성일, 분류 등 필요한 항목이 더 있다면 이전에 설명한 것처럼 여기에 더 추가해서 만들면 됩니다.

 

  

예제에서 설명한 코드 그대로 만들면 이런 모양으로 출력될 겁니다.

 

bd75b67f5146b316ad9d1f815a6da3ca_1445927406_2163.gif 

로그인 후 댓글 작성 가능합니다.

로그인

로그인 후 글 작성 가능합니다.
그누스킨닷컴

그누스터디는 그누보드, 영카트를 이용하시는 초보 사용자를 위한 정보를 공유합니다.

E-MAIL : gnustudy@naver.com / 카카오톡 : gnustudy / 텔레그램 : gnustudy
제작 문의를 제외한 일반 문의는 QA 게시판을 이용해주세요.

Copyright gnustudy.com All rights reserved.