최신글에서 공지를 먼저 출력하기 > 그누4 팁자료실

그누4 팁자료실

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

최신글에서 공지를 먼저 출력하기 정보

최신글에서 공지를 먼저 출력하기

본문

질문이 종종 올라오는 것 같아서 팁란에 등록합니다

latest.skin.php 첫부분에 추가하세요

foreach( $list as $key => $value) $tmp_notice[$key] = $value['is_notice'] *100000 + $value['wr_id'];
 array_multisort($tmp_notice, SORT_DESC, $list);
-------------------------------------------------------
10만을 곱해준 이유는 wr_id 값이 큰 순서로 정렬하기 위함입니다(한개 이상의 공지 및공지가 아닌 게시물들의 출력 순서 결정) -- 10 이나 100 등 아무것이나 할 수 있지만 출력할 목록수보다는 커야겠지요
최신글은 출력할 갯수가 많지않으므로 공지가 있는지 없는지 검사 후에 위 스크립트를
실행 하는 루틴은 생략 했습니다

이것이 필요하다면 latest.lib.php에서 get_list() 다음행에 아래 스크립트를 추가한 후 위 스크립트에 조건으로 넣어주면 됩니다 ( if($notice>0 )
      if($list[$i]['is_notice'] ) $notice++;
추천
5

댓글 12개

이 방법을 사용할때, 게시글이 하나도 없는 경우에는 에러를 토해내는군요.. ^^;
더 심각한 문제는 일정갯수(한 10개정도?)의 글이 등록되니 자연스레 내려가버리네요.
마지막 설명을 보면 답은 저절로 나올텐데...

latest.skin.php 추가할 부분

 if($notice>0) {
foreach( $list as $key => $value) $tmp_notice[$key] = $value['is_notice'] *100000 + $value['wr_id'];
 array_multisort($tmp_notice, SORT_DESC, $list);
}
-------------------------------------------------------------------------
latest.lib.php 28행에 추가
 ( $list[$i] = get_list($row, $board, $latest_skin_path, $subject_len); 다음행에 추가)

 if($list[$i]['is_notice'] ) $notice++;

위와 같이 하면 공지사항이 있는지 체크 후 추가 된 부분을 실행하게 되니 게시물이 없거나 공지체크 부분이 없으면 당연히 추가된 부분이 실행 되지 않게 됩니다
=================================================
더 간단한 방법은 latest.skin.php 에서
 if (count($list) >1 ) {
foreach( $list as $key => $value) $tmp_notice[$key] = $value['is_notice'] *100000 + $value['wr_id'];
 array_multisort($tmp_notice, SORT_DESC, $list);
}

이렇게만 해 주어도 되겠지요
게시물이 2개 이상 등록 된 경우에만 실행 되도록 하면..
아 이프문을 빠뜨려서 그런거였군요 ㅠ0ㅠ
저는 혼나도 싸요~ 덕분에 잘 해결됐습니다.
대단히 감사합니다 균이님 ^__^
한달 정도 기간이 지난 후에는 공지글이 풀어져 일반글로 바뀌네요...

흠...  갸우뚱...

새로운 공지 체크글은 되는데 시간이 지나면...풀리는...

변수설정 문제인가...갸우뚱,...
전체 28 |RSS
그누4 팁자료실 내용 검색

회원로그인

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