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

그누보드5 스킨

좋은 댓글과 좋아요는 제작자에게 큰힘이 됩니다.

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

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

첨부파일

latest_all.lib.zip (1.9K) 577회 다운로드 2018-05-23 23:10:45 포인트 차감1

본문

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

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

 

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

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

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

그누보드 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

 

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

 

 

추천
17

댓글 전체

관리자 일반 설정에서 캐시를 한번 삭제 해보세요.
저는 echo도 쓰지않고 왜 화면에 안나오지 이러고 30분 삽질 했었네요 ㅜㅜ 한번 체크해보세요.
좋은스킨 감사합니다. 저같은경우는 그누보드5.3 그냥 그대로 다운받아서 하나도 손대지않고 쓰고있는데요
<?  echo latest_all('theme/basic', '전체게시판', 10, 24 ,array('notice')); ?>
이 소스를 어디에 추가해야 메인에 뜨게되나요?
관리자 일반 설정에서 캐시를 한번 삭제 해보세요. 그래도 안돼시면 불러오시는 소스를 적어 주시면 테스트 해보겠습니다.
코멘트만 수정/삭제 될 때는 최근 게시물 목록이 업데이트가 안 되네요.
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의 전제조건이 필드의 수와 데이터타입이 같아야 하는데 몇 몇 게시판에 여분 필드를 넣었더니 오류가 나서 게시물을 불러오질 못했네요 ...
혹시 저처럼 여분필드 사용하시는 분들은 해당 게시판을 제외하든가, 아님 다른 게시판에도 똑같은 여분필드를 적용시켜주셔야 합니다. ㅠ.ㅠ

본문에 해당 팁을 기재해주시면 도움이 될 거 같습니다!!
126라인
$row['wr_subject'] = "[{$row['bo_subject']}] {$row['wr_subject']}";
를 주석 처리하시면 됩니다.

//  $row['wr_subject'] = "[{$row['bo_subject']}] {$row['wr_subject']}";
사진이 있는 갤러리 게시판으로 했더니 게시판 2개까지만 썸네일이 정상적으로 나오고 그 이상은 no image가 출력되네요 ㅠㅠ 왜 이럴까요.. 분명 사진은 있는데요..
확장 필드를 추가 하셨으면 문제가 있을 수 있습니다. 차후에 이부분은 정확히 필드를 명시해서 확장 필드와 상관 없이 나오도록 수정해보겠습니다.

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

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'] 로 변경해주시면 됩니다~
헐 천재세요?!! 겔러리로 그룹별 최신글 작업중이었는데 최신글 썸네일이 노이미지나 랜덤으로 나오다말다 해서 멍때리고 있었는데 펄스나인님 답변보고 오류 고쳤어요!! 감사해욥!!
전체 2,423 |RSS
그누보드5 스킨 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT