최신글에서 공지를 먼저 출력하기 정보
최신글에서 공지를 먼저 출력하기본문
질문이 종종 올라오는 것 같아서 팁란에 등록합니다
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++;
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
5
댓글 12개
와~~~ 넘 잘됩니다.
아주 환상입니다 ㅎㅎ
원하던 바가 한방에 해결되었네요
균이님 감사합니다^^
아주 환상입니다 ㅎㅎ
원하던 바가 한방에 해결되었네요
균이님 감사합니다^^
이 방법을 사용할때, 게시글이 하나도 없는 경우에는 에러를 토해내는군요.. ^^;
더 심각한 문제는 일정갯수(한 10개정도?)의 글이 등록되니 자연스레 내려가버리네요.
더 심각한 문제는 일정갯수(한 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개 이상 등록 된 경우에만 실행 되도록 하면..
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ㅠ
저는 혼나도 싸요~ 덕분에 잘 해결됐습니다.
대단히 감사합니다 균이님 ^__^
저는 혼나도 싸요~ 덕분에 잘 해결됐습니다.
대단히 감사합니다 균이님 ^__^
감사합니다. 잘 되네요.
감사합니다~~ 잘 되요^^
한달 정도 기간이 지난 후에는 공지글이 풀어져 일반글로 바뀌네요...
흠... 갸우뚱...
새로운 공지 체크글은 되는데 시간이 지나면...풀리는...
변수설정 문제인가...갸우뚱,...
흠... 갸우뚱...
새로운 공지 체크글은 되는데 시간이 지나면...풀리는...
변수설정 문제인가...갸우뚱,...
균이님 감사합니다. ^^ (최신글 공지 상단에 출력)
$notice 는 어디서 값을 얻어 오는 건가요?
감사합니다. 혼나면서 배워야지효~ 스크랩합니다.....