2026, 새로운 도약을 시작합니다.

전체 게시판 최신글입니다.(사용자별 최근게시물) 그누보드 5.3 용

20180523_200128.png

스킨이라고 보기보다는 라이브러리입니다.

라이브러리를 올리는 공간이 없는거 같아 여기에 올립니다.

위 그림과 같이 최근게시물이 게시판 전체를 뽑아 올수 있습니다.

회원별 최근 게시물을 전체 게시판에서 뽑아 올수도 있습니다.

게시물은 등록된 순으로 뽑아옵니다.

그누보드 5.3 용입니다.

파일을 다운 받으신후 lib 폴더에 업로드합니다.

2041174435_1527074383.8056.png

테마를 쓰시는 분은 테마의 head.php 파일을 수정합니다.

베이직 테마 사용자 ) /teme/basic/head.php

테마사용 안하는 경우) 메인/head.php

2041174435_1527073666.9601.png

대충 11라인 정도 됩니다.

include_once(G5_LIB_PATH.'/latest.lib.php');
include_once(G5_LIB_PATH.'/latest_all.lib.php'); // latest.lib.php 밑에 추가해주세요.

최신글을 뽑아올 화면에서 다음과 같이 코드를 추가합니다.

<?  echo latest_all('theme/basic', '전체게시판', 10, 24 ,array('notice')); ?>

1 인자 : 최근게시물 스킨

2 인자 : 제목(특정게시판을 뽑아오는것이 아니므로 제목을 결정하세요)

3 인자 : 줄수

4 인자 : 게시물 제목 길이

5 인자 : 제외할 게시판 ex) 자유게시판, 공지사항 제거시 array('notice','free')

최근게시물은 캐시를 사용하여 글 등록이나 수정이 없으면 캐시에 저장된 내용을 가져옵니다.

DB 커넥션을 줄이기 위해서죠. 따라서 글 등록이나 수정시, 삭제 시 새롭게 게시물을 불러올 수 있게

다음과 같이 수정해주셔야 합니다.

bbs/write_update.php 안에 대충 699라인 정도 됩니다.

bbs/delete.php 안 135라인 정도 됩니다.

delete_cache_latest($bo_table);
delete_cache_latest('all'); // 게시물 등록 수정 삭제 전체 게시판 최근게시물 캐시 삭제

빨간 소스 코드를 추가해주세요.

2041174435_1527074192.8132.png

2041174435_1527576326.7858.png

다음은 사용자별 최근 게시물을 뽑아 오는 방법입니다.

echo latest_all("theme/basic", "{$member['mb_nick']}님의 최근게시물", 10, 24 ,"",1," mb_id='{$member['mb_id']}' and "); // 전체게시판에서 접속자의 최근 게시물

1848609079_1527082616.0204.png

echo latest_all("theme/basic", "{$member['mb_nick']}님의 최근게시물", 10, 24 , array('notice') ,1," mb_id='{$member['mb_id']}' and "); // 공지사항을 제외하고 접속자 최근 게시물

echo latest_all("theme/basic", "최고관리자님의 최근 게시물", 10, 24 ,"",1," mb_id='admin' and "); // 회원 아이디가 amdin(최고관리자)인 전체게시판에서의 최근 게시물

1848609079_1527082730.3894.png

다음과 같이도 활용할 수 있습니다.

theme/tail.php 파일에서 

    <div id="aside">
        <?php
        //공지사항
        // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
        // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
        // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
        echo latest('theme/notice', 'notice', 4, 13);
        ?>
        <?php echo outlogin('theme/basic'); // 외부 로그인, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정 ?>
        <?
            if($member['mb_id'] != ""){
        ?>      
            <div style="padding: 0 19px 0 19px;">  
                <?=latest_all("theme/basic", "{$member['mb_nick']}님의 최근 게시물", 5, 13 ,"",1," mb_id='{$member['mb_id']}' and ");?>
            </div>
        <?
            }
        ?>

        <?php echo poll('theme/basic'); // 설문조사, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정 ?>
        <?php echo visit('theme/basic'); // 접속자집계, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정 ?>
    </div>

과 같이 소스를 수정할 경우

1848609079_1527084619.9769.png

회원별 최근 게시물을 뽑아 낼 수 있습니다.

첨부파일

20180523_200128.png (24.8 KB)
0회 2018-05-23 20:28 포인트 차감 1
latest_all.lib.zip (1.9 KB) 644회 2018-05-23 23:10 포인트 차감 1
|

댓글 78개

잘쓰겠습니다.
감사합니다.
뭐가 잘못됬는지 게시물이 안나오네요?
설정은 잘한것 같은데..
관리자 일반 설정에서 캐시를 한번 삭제 해보세요.
저는 echo도 쓰지않고 왜 화면에 안나오지 이러고 30분 삽질 했었네요 ㅜㅜ 한번 체크해보세요.
유용하게 사용하셨으면 좋겠습니다. ^^
정말 필요했던 자료입니다! 감사합니다!
다행이네요 ^^ 감사합니다.
유용한 자료 감사합니다.
좋은스킨 감사합니다. 저같은경우는 그누보드5.3 그냥 그대로 다운받아서 하나도 손대지않고 쓰고있는데요
<? echo latest_all('theme/basic', '전체게시판', 10, 24 ,array('notice')); ?>
이 소스를 어디에 추가해야 메인에 뜨게되나요?
/theme/basic/index.php 에 적절한 위치에 추가 해주세요.
잘쓰겠습니다.
너무 고맙습니다.
위 내용을 모두 실행해봤는데... 내용이 뜨지 않네요.

"게시물이 없습니다"
관리자 일반 설정에서 캐시를 한번 삭제 해보세요. 그래도 안돼시면 불러오시는 소스를 적어 주시면 테스트 해보겠습니다.
코멘트만 수정/삭제 될 때는 최근 게시물 목록이 업데이트가 안 되네요.
delete_comment.php와 write_comment_update.php의
delete_cache_latest($bo_table); 아래에 똑같이
delete_cache_latest('all'); 구문을 추가하면 적용됩니다~
잘 나오다가 갑자기 나오지를 않네요.
무슨 이유에서인지 if(!G5_USE_CACHE || $cache_fwrite) 이곳에 닿지를 않습니다.
로그를 찍어보면 G5_USE_CACHE 는 true를 $cache_fwrite는 false를 리턴합니다.. 찾지를 못하겠네요.
게시물을 불러오지 못하는 원인 찾았습니다. 아 며칠을 삽질했는지 모르겠네요 초보의 한계 ;
union all의 전제조건이 필드의 수와 데이터타입이 같아야 하는데 몇 몇 게시판에 여분 필드를 넣었더니 오류가 나서 게시물을 불러오질 못했네요 ...
혹시 저처럼 여분필드 사용하시는 분들은 해당 게시판을 제외하든가, 아님 다른 게시판에도 똑같은 여분필드를 적용시켜주셔야 합니다. ㅠ.ㅠ

본문에 해당 팁을 기재해주시면 도움이 될 거 같습니다!!

이 댓글 덕분에 저도 고쳤습니다 ㅠ tag 넣어서 필드수가 늘어나니까 안되서 2시간 삽질한거 같네요

많은 도움이 되었습니다.
좋은 스킨 감사합니다. 행수지정은 가능한데 제목자수지정이 안되는 이유가 무엇인지요. 짧게 나타나는 이유가요.
필요한 자료였는데 감사합니다 많은 도움이 되었습니다.
혹시 앞에 [게시판이름] 붙는것을 없엘 수 있나요?
126라인
$row['wr_subject'] = "[{$row['bo_subject']}] {$row['wr_subject']}";
를 주석 처리하시면 됩니다.

// $row['wr_subject'] = "[{$row['bo_subject']}] {$row['wr_subject']}";
감사합니다 ㅠㅜ
유용합니다. 감사합니다.
찾고 있었는데 감사합니다.
정말 좋은 자료 감사합니다
정말 감사합니다.
유용한 자료 감사합니다
감사합니다. 잘 사용하겠습니다.^^
사진이 있는 갤러리 게시판으로 했더니 게시판 2개까지만 썸네일이 정상적으로 나오고 그 이상은 no image가 출력되네요 ㅠㅠ 왜 이럴까요.. 분명 사진은 있는데요..
회원별 최신글 감사합니다
와우 대단하십니다...
정말 필요했던 자료입니다.
5 인자 : 제외할 게시판 ex) 자유게시판, 공지사항 제거시 array('notice','free') --> 그룹으로 제외를 할 수도 있나요?
장인개발정신 님 처럼 몇일 잘쓰다가 갑자기 안나오고 또 어느날은 잘나오고 문제가 있습니다..
확장 필드를 추가 하셨으면 문제가 있을 수 있습니다. 차후에 이부분은 정확히 필드를 명시해서 확장 필드와 상관 없이 나오도록 수정해보겠습니다.

장인개발정신님이 찾으신 내용데로 아래 부분도 처리해보세요.

delete_comment.php와 write_comment_update.php의
delete_cache_latest($bo_table); 아래에 똑같이
delete_cache_latest('all'); 구문을 추가하면 적용됩니다~

잘안나오고 어느날은 잘 나오는 문제는 캐쉬 문제인듯한데요.
관리자에서 캐쉬 일괄 삭제도 해보세요.

안나오는 날은 아예 게시물이 안나오는 것인지요?
네 아예 아무글도 안나오고 캐시 삭제해도 똑같아요
그렇다면 쿼리에서 오류가 발생한 것입니다. 쿼리 검증을 해야할꺼 같네요. 최근 게시물 뽑는 함수내용 부탁 드립니다.
echo latest_all("theme/basic", "작성자님의 게시물", 10, 24 ,"",1," mb_id='{$view['mb_id']}' and "); // 전체게시판에서 접속자의 최근 게시물

저는 이렇게 뽑아오는데 에러가 납니다..
감사합니다. 잘쓰겠습니다.
덕분에 잘 씁니다!
감사합니다. 잘쓰겠습니다.
좋은 정보 감사합니다
자료 감사합니다
좋은정보 감사합니다
좋은 팁 감사합니다.
전체 게시판 최신글
잘되네요 감사합니다~!!
갤러리형태 스킨으로 불러오게 되면 썸네일 겹침 현상 있습니다.
감사합니다!
5.4에서도 잘됩니다.
저는 메인페이지에 쓰려고 이렇게 수정했습니다.
<div style="float:left;margin-left:1%" class="lt_wr">
<?php echo latest_all('theme/basic', '전체게시판', 10, 24 ,array('notice')); ?>
</div>
찾고 있었는데 감사합니다.
감사합니다. 다른건 잘 되는데 gallery 게시판만 제외가 안되네요
제외 array 에 url 창에도 있는 bo_table=gallery 의 gallery 를 추가해도
전체 게시판중 gallery 를 불러오는데 혹시 이유를 아실지요?
감사합니다! ^ㅡ^ 꼭 필요했는데 해결했습니다. 혹시 댓글도 이처럼 모아볼 수는 없을까요?
멋지네요 ^^ 공개 감사합니다.
사용하다가 잘안되서 자답 입니다~
-------------
그대로 넣으니 링크주소의 bo_table 이
맨위 첫줄 게시물을 따라가네요.

for ( 안쪽에 $bo_table 을
$list[$i]['bo_table'] 로 변경해주시면 됩니다~
헐 천재세요?!! 겔러리로 그룹별 최신글 작업중이었는데 최신글 썸네일이 노이미지나 랜덤으로 나오다말다 해서 멍때리고 있었는데 펄스나인님 답변보고 오류 고쳤어요!! 감사해욥!!
오 ㅎㅎ 도움이되셨다니 좋네요 :D
썸네일 출력 코드에도 $bo_table 이 있었네요 ㅎ

$bo_table > $list[$i]['bo_table']

다운받았습니다 감사합니다

감사합니다. 꼭 필요한 기능이였습니다.

감사합니다

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기
🐛 버그신고