전체게시판 최근게시물 스크롤 스킨(그누보드 메인처럼 하기) > 그누4 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

전체게시판 최근게시물 스크롤 스킨(그누보드 메인처럼 하기) 정보

전체게시판 최근게시물 스크롤 스킨(그누보드 메인처럼 하기)

첨부파일

new_scroll_latest.lib.php (1.5K) 780회 다운로드 2006-01-03 00:02:11
latest.skin.php (6.4K) 218회 다운로드 2005-12-30 16:22:09

본문

그누보드 메인화면에 있는 최근게시물 스크롤 스킨 기능이 탐나서 급조해서 만들어봤습니다.

extend 디렉토리에 new_scroll_latest.lib.php 화일 저장하고

index.php 에서 include_once("./extend/new_scroll_latest.lib.php"); 추가해주시고

나중을 위해 skin/latest/scroll/latest.skin.php 백업한뒤 덮어씌우면 됩니다.

그런후에 index.php에서
<?=latest_scroll("scroll", 12, 70,"4,25");?> 과 같이 불러오면 완성됩니다.

궁금만땅님의 그룹상관없이 일부 몇 게시판에서만 모아서 최근게시물 추출 - 전광판용
http://www.sir.co.kr/bbs/tb.php/g4_tiptech/1774
을 참고로 했습니다.

최근게시물의 뽑아오는 글 갯수를 쉽게 수정가능하도록 변경했습니다.(06-01-02)
이제 사용하는방법은 <?=latest_scroll("scroll", 뽑아오고싶은 글갯수, 70,"4,25");?> 입니다.

[그룹명/보드명] 제목 이 표현되도록 수정했습니다.
추천
6

댓글 43개

좋은 팁 감사합니다....^^

출력되는 글이 겹치는 부분이 보여서...

latest.skin.php 파일의 121번줄 부근의

$roll_text[$k] .= "<div style=\"height:{$height}px; padding-top:5px;\">"; 

이 부분을

$roll_text[$k] .= "<div style=\"height:{$height}px; padding-top:0px;\">";

이렇게 바꿔주니까 아주 잘 되는군요...
감사합니다...
최신글 뽑는 갯수가 12개 이상은 안뽑히는군요..

new_scroll_latest.lib.php 15번째 항에

$sql = " select a.*, c.gr_subject, c.gr_id
        from $g4[board_new_table] a, $g4[board_table] b,  $g4[group_table] c
where a.bo_table = b.bo_table and b.gr_id = c.gr_id and b.bo_use_search = '1' and  a.wr_id = a.wr_parent
order by a.bn_id  desc limit 0, 12 ";

여기서  limit 0,12; 이 부분을 limit 0, $rows 이렇게 하는게 정상인것 같긴한데 계속 오류가나는군요..
초짜다 보니 여기서 막혀서.....
혹시 해결할 수 있는 방법이 있을까요??
bitmaster 님 거기는 걍 숫자로 필요한만큼 늘려주시면 됩니다...

<?=latest_scroll("scroll", 12, 70,"4,25");?> 이부분도 12부분을 같이 늘려주시구요...
숫자로 해도 마찬가지였습니다..
숫자로 해도 안되고, $rows 로 해도 안되고..
결국 일단 12로 해서 하고 있는데 어디서 잘못됬는지 도통 모르겠군요...
저만 그런건지....쩝
2006년 01월 2일 (월) 13시 47분 02초 이런식으로 시간뽑기코드입니다...
<? $my[time_Hms] = date("H시 i분 s초",time());  echo("$my[time_Hms]"); ?>을 아래로 대체...

-----------------------------------------------------------------------------------------------------
<?
$a = date ("Y년 m월 j일");
$today = date("w");

if($today == 0) $day = "(일)";
else if($today == 1) $day = "(월)";
else if($today == 2) $day = "(화)";
else if($today == 3) $day = "(수)";
else if($today == 4) $day = "(목)";
else if($today == 5) $day = "(금)";
else if($today == 6) $day = "(토)";

echo "$a $day";
?>&nbsp;
<? $my[time_Hms] = date("H시 i분 s초",time());  echo("$my[time_Hms]"); ?>
-----------------------------------------------------------------------------------------------------

여기서 질문합니다...
latest.skin.php의
-----------------------------------------------------------------------------------------------------
        $roll_text[$k] .= "[";
        $roll_text[$k] .= $list[$i][gr_subject];
        $roll_text[$k] .= "] ";
        $roll_text[$k] .= $list[$i][wr_subject];
-----------------------------------------------------------------------------------------------------

을 이렇게 바꿨는데...
-----------------------------------------------------------------------------------------------------
        $roll_text[$k] .= "[";
        $roll_text[$k] .= $list[$i][gr_subject];
        $roll_text[$k] .= "/";
        $roll_text[$k] .= $list[$i][bo_subject];
        $roll_text[$k] .= "] ";
        $roll_text[$k] .= $list[$i][wr_subject];
-----------------------------------------------------------------------------------------------------
$roll_text[$k] .= $list[$i][bo_table];은 잘나타나는데 $roll_text[$k] .= $list[$i][bo_subject];안먹네요...
new_scroll_latest.lib.php을 고쳐야 하나요???
[그룹명/보드명] 제목과 같이 표현이 되도록 new_scroll_latest.lib.php를 재 등록했습니다.

표시하는 방법은 이렇게 하면 되겠지요
        $roll_text[$k] .= "[";
        $roll_text[$k] .= $list[$i][gr_subject];
        $roll_text[$k] .= "/";
        $roll_text[$k] .= $list[$i][bo_subject];
        $roll_text[$k] .= "] ";
        $roll_text[$k] .= $list[$i][wr_subject];
휴일 동안 쉬는 사이에 여러댓글이 올라왔네요..

우선, bitmaster님 위의 자료는 12개의 최신글만 뽑아올 목적으로 만들다 보니, rows값을 12에 고정하고 limit값도 12로 픽스하였던 것인데요.
사용하는분께서 쉽게 변경할수 있도록 new_scroll_latest.lib.php를 재 등록했습니다.

이제 사용하는 방법은 <?=latest_scroll("scroll", 뽑아오고싶은 글갯수, 70,"4,25");?> 입니다.

그리고, 날짜와 요일은 빼고 시간만 출력하도록 한것은 제가 사용하는 홈페이지에는 날짜가 다른곳에 출력되어 빼넣었었는데 시그너스님의 팁을 이용하면 날짜와 요일까지 표시가 됩니다. 감사합니다.
좋은스킨 잘 쓰고 있는데요
잘 돌아가던 스킨이 오늘 내용이 안보여서 소스보기로 봤더니 아래 스크립트가

    var roll_height_<?=$uni?> = <?=$box_height?>;
    var total_area_<?=$uni?> = 0;
    var wait_flag_<?=$uni?> = true;
    var bMouseOver_<?=$uni?> = 1;
    var roll_speed_<?=$uni?> = 1;
    var waitingtime_<?=$uni?> = 3000;

이와 같이 보이던데 이렇게 소스로 보여서 안나오는 건가요??

    var roll_height_340358cbf0e97194a8a27d9b72b38d76 = 100;
    var total_area_340358cbf0e97194a8a27d9b72b38d76 = 0;
    var wait_flag_340358cbf0e97194a8a27d9b72b38d76 = true;
    var bMouseOver_340358cbf0e97194a8a27d9b72b38d76 = 1;
    var roll_speed_340358cbf0e97194a8a27d9b72b38d76 = 1;
    var waitingtime_340358cbf0e97194a8a27d9b72b38d76 = 3000;

아니면 한 게시판을 필드를 바꾸고 여분필드를 활용한 게시판이 생성되고 부터니까 그 게시판을 불러올 수 없어서 오류가 나는건지 인트라넷 홈쥐라 링크도 못걸구 답답하네요.....

혹시 특정게시판만 안 불러오게 할 수 있는지......
var roll_height_340358cbf0e97194a8a27d9b72b38d76 = 100; 이와같이 보이는 이유는 스킨 소스를 보시면 답이 나와있습니다.

유니크값 (최신글은 한페이지에 여러개 둘 수 있으므로... 자바스크립트에서 함수 충돌을 방지)을 랜덤으로 뽑아오는것입니다.

게시판 필드의 어떤 부분을 건들였는지 모르지만, 특정게시판을 안불러오게 하는방법은
new_scroll_latest.lib.php의 sql 구문에 빼고자하는 보드테이블명을 추가하시면 됩니다.
a.bo_table<>'빼고자하는보드테이블명1' and  a.bo_table<>'빼고자하는보드테이블명2' 이런식으로 추가해주면 됩니다.

$sql = " select a.*, b.bo_subject, c.gr_subject, c.gr_id
            from $g4[board_new_table] a, $g4[board_table] b,  $g4[group_table] c
            where a.bo_table = b.bo_table and b.gr_id = c.gr_id and b.bo_use_search = '1' and  a.wr_id = a.wr_parent
            order by a.bn_id desc limit 0,$rows";를 아래와 같이 수정하시면 됩니다.

$sql = " select a.*, b.bo_subject, c.gr_subject, c.gr_id
            from $g4[board_new_table] a, $g4[board_table] b,  $g4[group_table] c
            where  a.bo_table<>'빼고자하는 보드테이블명을 입력' and a.bo_table = b.bo_table and b.gr_id = c.gr_id and b.bo_use_search = '1' and  a.wr_id = a.wr_parent
            order by a.bn_id desc limit 0,$rows";

도움이 되길 바랍니다.
아마도 최신글 제목부분에 ' ' " 가 들어가서 오류가 난듯합니다.

new_scroll_latest.lib.php에서
$list[$i][wr_subject] = cut_str($row2[wr_subject], $subject_len, "…"); 을

$list[$i][wr_subject] = cut_str(get_text($row2[wr_subject]), $subject_len, "…"); 으로 수정하시면 됩니다.
제목에 ' ' " " 이런 문자가 포함되어 있을경우 화면이 표시되지 않습니다.

new_scroll_latest.lib.php에서
$list[$i][wr_subject] = cut_str($row2[wr_subject], $subject_len, "…"); 을

$list[$i][wr_subject] = cut_str(get_text($row2[wr_subject]), $subject_len, "…"); 으로 수정하세요.
new_scroll_latest.lib.php에서
$list[$i][wr_subject] = cut_str($row2[wr_subject], $subject_len, "…"); 을

$list[$i][wr_subject] = cut_str(get_text($row2[wr_subject]), $subject_len, "…"); 으로 수정후

회원가입이나 회원정보 변경등에 오류가 나서 '', ""으로 시작되는 제목같은경우 그냥 수정해야 할것 같습니다.
아래 헐랭이님의 팁으로 보완했더니 잘 작동하네요.
헐랭이님팁이 있는 곳 주소는 http://sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=36555&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%BD%BA%C5%A9%B7%D1&sop=and&page=2

제가 도움받은 그 내용은 아래와 같습니다.
...........................................................

어제 오늘 글내용중에 ' 또는 " 라는 따옴표가 들어간 글이 있는지 확인하신후
따옴표가 들어간 글이 있다면 수정해 보세요.
그리고 따옴표기 들어간후 자바에러를 방지하는 방법은 스킨의 latest.skin.php 에서
뿌려줄 리스트 데이타를 addslashes 시켜주면 해결이 됩니다.

$k = (int)($i / $line_mod); <- 이라인 바로 아래에
아래의 코드를 추가합니다.

$list[$i][gr_subject] =addslashes($list[$i][gr_subject]);
$list[$i][bo_subject] =addslashes($list[$i][bo_subject]);
$list[$i][wr_subject] =addslashes($list[$i][wr_subject]);
전체 43 |RSS
그누4 팁자료실 내용 검색
  • 개별 목록 구성 번호 제목 작성자 작성일 추천 조회
  • 게시물이 없습니다.

회원로그인

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