최신글 스킨 적용 방법 기초 강좌 1 - 기초활용강좌, 그누보드5강좌

본문 바로가기
전체검색

기초활용강좌

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

최신글 스킨 적용 방법 기초 강좌 1

관리자 16-12-15 03:27

최신글은 게시판에 가장 최근에 등록된 일부 글을 특정 페이지에 출력하는 스킨입니다.

가장 많이 사용되는 곳이 위 화면과 같은 메인페이지죠.

우선 그누보드 원본 index 파일에서는 어떻게 적용되었는지 간략하게 살펴보겠습니다.

 

최신글을 사용하기 위해서는 최신글 함수를 일단 불러와야 합니다.

 

include_once(G5_LIB_PATH.'/latest.lib.php');

 

그누보드 원본에서는 head.php 파일에 포함되어 있습니다.

그리고 출력하고 싶은 곳에 이렇게 넣어줍니다.

 

// 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);

// 테마의 스킨을 사용하려면 theme/basic 과 같이 지정

echo latest("basic", "notice", 5, 25);


설명 문구까지 넣을 필요는 없고 <?php echo latest("basic", "notice", 5, 25); ?> 이것만 넣으면 됩니다.

설명에 나온 그대로 basic 은 최신글 스킨 폴더명이고, 

notice 는 추출하고 싶은 게시판id, 뒤에 숫자는 각각 게시물수, 글자수 를 뜻합니다.

위 내용은 가장 기본적인 내용이고 실제 어떻게 사용하는지 살펴보겠습니다.

 

그누보드 원본을 일단 살펴보면..

index.php 파일을 열어보면 최신글 추출 부분이 이렇게 코드가 상당히 길게 있을 겁니다.

 

<h2 class="sound_only">최신글</h2>

<!-- 최신글 시작 { -->

<?php

//  최신글

$sql = " select bo_table

            from `{$g5['board_table']}` a left join `{$g5['group_table']}` b on (a.gr_id=b.gr_id)

            where a.bo_device <> 'mobile' ";

if(!$is_admin)

    $sql .= " and a.bo_use_cert = '' ";

$sql .= " order by b.gr_order, a.bo_order ";

$result = sql_query($sql);

for ($i=0; $row=sql_fetch_array($result); $i++) {

    if ($i%2==1) $lt_style = "margin-left:20px";

    else $lt_style = "";

?>

    <div style="float:left;<?php echo $lt_style ?>">

        <?php

        // 이 함수가 바로 최신글을 추출하는 역할을 합니다.

        // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);

        // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정

        echo latest("basic", $row['bo_table'], 5, 25);

        ?>

    </div>

<?php

}

?>

<!-- } 최신글 끝 -->

 

저렇게 복잡하게 되어 있는 이유는 게시판을 생성하면 자동으로 최신글 목록이 추가되게끔 해놔서 그렇습니다.

게시판을 계속 생성하면 전부 메인 페이지에 최신글로 뜨게 되죠.

저 형태 그대로 사용하고 스킨만 바꾸고 싶다면 스킨 자료실에서 최신글 스킨을 받아서 skin/latest/ 폴더에 올린 후에

basic 부분을 새로 추가한 최신글 스킨 폴더명으로 바꿔주기만 하면 됩니다.

 

초보분들이 실수하시는 것 중에 하나가 설명에 나온대로 게시판id를 직접 넣고 싶어서

$row['bo_table'] 대신에 게시판id를 넣는 경우가 있습니다.

저 코드 전체를 그대로 둔 상태에서 그렇게 해버리면 똑같은 게 계속 반복되버립니다.

 

그렇게 하시면 안 되고 특정게시판만 최신글을 별개로 사용하고 싶다면 아래 내용처럼 하셔야 합니다.

일단 복잡해 보이는 위 내용을 하나도 빠짐없이 전부 삭제하시고 이렇게 직접 추가를 하세요.

 

​<div style="float:left;">

    <?php echo latest("basic", "notice", 5, 25); ?>

</div>

<div style="float:left;margin-left:20px">

    <?php echo latest("basic", "free", 5, 25); ?>

</div>

<div style="float:left;">

    <?php echo latest("basic", "notice", 5, 25); ?>

</div>

<div style="float:left;margin-left:20px">

    <?php echo latest("basic", "free", 5, 25); ?>

</div>

 

이렇게하면 원하는 위치에 원하는 최신글 스킨명으로 각각 설정할 수가 있습니다.

위 코드는 그누보드 원본 기준으로 해 놓은 거고 본인이 디자인한 페이지 원하는 위치에

<?php echo latest("basic", "notice", 5, 25); ?> 이렇게 각각 넣으면 됩니다. 

게시판id나 스킨명도 원하는 걸로 바꾸시고요.

 

 

설명이 길었는데 요점은 이렇습니다.

1. 최신글 함수를 불러오고 : include_once(G5_LIB_PATH.'/latest.lib.php');

2. 원하는 위치에 이렇게 추가 : <?php echo latest("basic", "notice", 5, 25); ?>

 

간단해보이지만 별도로 만든 페이지에 넣다보면 경로 설정이나 css가 깨지는 등 여러 문제가 생길 수도 있는데

그건 실전 예제에서 자세히 다루도록 하겠습니다.

댓글목록 +4

댓글목록

profile_image

지니킴님의 댓글

지니킴 작성일

강좌 보고싶습니다

profile_image

관리자님의 댓글의 댓글

관리자 작성일

죄송합니다. 시간이 잘 안 나네요. 조회수가 늘어나고 있군요.
시간 나는 대로 간단한 내용이라도 준비해서 올려놓겠습니다.

profile_image

이준수님의 댓글

이준수 작성일

초보자 글올립니다.
게시판이 많으니 당연히 최신글도 많으시겠죠 그런데 줄일수는 없나요
죄송합니다. 쫌 알고 싶어져요

profile_image

관리자님의 댓글의 댓글

관리자 작성일

latest(스킨, 게시판아이디, 출력라인, 글자수);
설명에도 나와있다시피 출력라인을 줄이면 됩니다.
여기서 숫자 5 부분을 원하는 개수로 설정하면 되겠죠.
<?php echo latest("basic", "notice", 5, 25); ?>

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

로그인

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

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

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

Copyright gnustudy.com All rights reserved.