wasup
GNU) 그누보드 사용방법. 최신글? 본문
그누보드를 사용하는 이유중 첫 번째가 게시판과 스킨이라고 이 전전글에 썼었는데
최신글도 게시판이고 스킨입니다.
최신글이 뭐냐?
말 그대로 최신글입니다.
만들어진 게시판에 글이 있다면 있는 게시물 중 가장 최근에 작성된 글 목록을 불러오는겁니다.
위치는 index혹은 동일 게시판 혹은 또다른 서브페이지에도 가능합니다.
그럼 최신글은 어찌 사용하나?
맨 처음에 그누보드를 설치했을 때 theme의 인덱스 파일 혹은 최상위 인덱스 파일을 보면
<h2 class="sound_only">최신글</h2>
<div class="latest_top_wr">
<?php
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
// 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
// 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
echo latest('pic_list', 'free', 4, 23); // 최소설치시 자동생성되는 자유게시판
echo latest('pic_list', 'qa', 4, 23); // 최소설치시 자동생성되는 질문답변게시판
echo latest('pic_list', 'notice', 4, 23); // 최소설치시 자동생성되는 공지사항게시판
?>
</div>
<div class="latest_wr">
<!-- 사진 최신글2 { -->
<?php
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
// 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
// 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
echo latest('pic_block', 'gallery', 4, 23); // 최소설치시 자동생성되는 갤러리게시판
?>
<!-- } 사진 최신글2 끝 -->
</div>
<div class="latest_wr">
<!-- 최신글 시작 { -->
<?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 .= " and a.bo_table not in ('notice', 'gallery') "; //공지사항과 갤러리 게시판은 제외
$sql .= " order by b.gr_order, a.bo_order ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
$lt_style = '';
if ($i%3 !== 0 ) $lt_style = "margin-left:2%";
?>
<div style="float:left;<?php echo $lt_style ?>" class="lt_wr">
<?php
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
// 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
// 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
echo latest('basic', $row['bo_table'], 6, 24);
?>
</div>
<?php
}
?>
<!-- } 최신글 끝 -->
</div>
요런 코드가 있습니다.
파일 내부에서 사용 방법을 알려주고 있습니다.
초반에(그누보드 처음 접하기 시작할 때) 그누보드 설치시 basic테마를 지우거나 변경하여 사용하지 않고
새로운 테마를 추가해서 사용했던 이유 중 하나입니다.
주석이 잘 달려있으니 참고하기 좋고 수정하다 망가져도 백업파일을 불러오기보다는
무엇을 잘못했는지 비교해보기 편해서 삭제하지 않고 뒀었습니다.
<?php
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
// 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
// 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
echo latest('basic', $row['bo_table'], 6, 24);
?>
이전 글에서 note라는 게시판을 하나 만들었는데
note게시판을 최신글로 사용하려면
<?php echo latest('basic', 'note', 6, 24); ?>
요래 써주면 됩니다.
그럼 최신글 css는 어디있을까?
주석을 보면 '사용방법 : Latest(스킨, 게시판아이디, 풀력라인, 글자수);' 라고 되어있는데
스킨이 'basic'이니까 테마의 스킨은 아니고 최상위 폴더의 스킨입니다.
여기서 basic은 게시판의 basic이 아니고 최신글(latest)의 basic이므로
www/skin/board/로 가면 안되고
www/skin/latest/로 가서 basic을 찾아야 합니다.
basic폴더로 가면 latest.skin.php와 style.css가 있습니다.
이번에는 css파일 하나, php파일 하나라서 구분이 쉽죠?
php처음보면 좀 어지러울 수 있는데 별거 없습니다.
찬찬히 보면 다 보여요. 파이팅.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);
$list_count = (is_array($list) && $list) ? count($list) : 0;
?>
<div class="lat">
<h2 class="lat_title"><a href="<?php echo get_pretty_url($bo_table); ?>"><?php echo $bo_subject ?></a></h2>
<ul>
<?php for ($i=0; $i<$list_count; $i++) { ?>
<li class="basic_li">
<?php
if ($list[$i]['icon_secret']) echo "<i class=\"fa fa-lock\" aria-hidden=\"true\"></i><span class=\"sound_only\">비밀글</span> ";
echo "<a href=\"".get_pretty_url($bo_table, $list[$i]['wr_id'])."\"> ";
if ($list[$i]['is_notice'])
echo "<strong>".$list[$i]['subject']."</strong>";
else
echo $list[$i]['subject'];
echo "</a>";
if ($list[$i]['icon_hot']) echo "<span class=\"hot_icon\"><i class=\"fa fa-heart\" aria-hidden=\"true\"></i><span class=\"sound_only\">인기글</span></span>";
if ($list[$i]['icon_new']) echo "<span class=\"new_icon\">N<span class=\"sound_only\">새글</span></span>";
// if ($list[$i]['link']['count']) { echo "[{$list[$i]['link']['count']}]"; }
// if ($list[$i]['file']['count']) { echo "<{$list[$i]['file']['count']}>"; }
echo $list[$i]['icon_reply']." ";
if ($list[$i]['icon_file']) echo " <i class=\"fa fa-download\" aria-hidden=\"true\"></i>" ;
if ($list[$i]['icon_link']) echo " <i class=\"fa fa-link\" aria-hidden=\"true\"></i>" ;
if ($list[$i]['comment_cnt']) echo "
<span class=\"lt_cmt\"><span class=\"sound_only\">댓글</span>".$list[$i]['comment_cnt']."</span>";
?>
<div class="lt_info">
<span class="lt_nick"><?php echo $list[$i]['name'] ?></span>
<span class="lt_date"><?php echo $list[$i]['datetime2'] ?></span>
</div>
</li>
<?php } ?>
<?php if ($list_count == 0) { //게시물이 없을 때 ?>
<li class="empty_li">게시물이 없습니다.</li>
<?php } ?>
</ul>
<a href="<?php echo get_pretty_url($bo_table); ?>" class="lt_more"><span class="sound_only"><?php echo $bo_subject ?></span>더보기</a>
</div>
'CMS > gnu' 카테고리의 다른 글
GNU) 그누보드 홈페이지 만들기. 그누보드 설치하기 (0) | 2021.05.11 |
---|---|
GNU) 그누보드 홈페이지 만들기. 무료호스팅 받기. (0) | 2021.05.10 |
GNU) 그누보드 사용방법. 게시판 수정하기. (0) | 2021.05.08 |
GNU) 그누보드 사용방법. 게시판만들기. (0) | 2021.05.08 |
GNU) 그누보드 사용방법. 메인메뉴구성 (0) | 2021.05.07 |