게시판에 분류를 사용하고 있는데 공지사항 관련 문의입니다..
본문
안녕하세요.
게시판의 분류를 사용하여
[전체] [메뉴1] [메뉴2] [메뉴3]이런식으로 사용하고 있는데요..
공지사항이 전체에만 나와서 분류 탭에서도 공지사항을 보이기 위해
list.php에 아래와 같은 소스로 공지사항 부분을 출력하고 있습니다.
// 공지 처리
if (!$is_search_bbs) {
$arr_notice = explode(',', trim($board['bo_notice']));
$from_notice_idx = ($page - 1) * $page_rows;
if($from_notice_idx < 0)
$from_notice_idx = 0;
$board_notice_count = count($arr_notice);
for ($k=0; $k<4; $k++) {
if (trim($arr_notice[$k]) == '') continue;
$row = sql_fetch(" select * from {$write_table} where wr_id = '{$arr_notice[$k]}' ");
if (!$row['wr_id']) continue;
$notice_array[] = $row['wr_id'];
if($k < $from_notice_idx) continue;
$list[$i] = get_list($row, $board, $board_skin_url, G5_IS_MOBILE ? $board['bo_mobile_subject_len'] : $board['bo_subject_len']);
$list[$i]['is_notice'] = true;
$i++;
$notice_count++;
if($notice_count >= $list_page_rows)
break;
}
}else if ($sca && !$stx) {
$arr_notice = explode(',', trim($board['bo_notice']));
if($page==1){
for ($k=0; $k<count($arr_notice); $k++) {
if (trim($arr_notice[$k])=='') continue;
$row = sql_fetch(" select * from {$write_table} where wr_id = '{$arr_notice[$k]}' and ca_name = '{$sca}' ");
if (!$row['wr_id']) continue;
$list[$i] = get_list($row, $board, $board_skin_url, G5_IS_MOBILE ? $board['bo_mobile_subject_len'] : $board['bo_subject_len']);
$list[$i]['is_notice'] = true;
$i++;
}
}
}
근데 분류에서 글을 12개만 출력하고 싶은데 첫페이지에서 공지사항 개수 + 12개 가 출력되고 있습니다..
첫페이지에서도 공지사항 포함 12개만 나오게 할 수 있을까요?..
답변 2
우선, 원본파일을 저장한 후
다음 구문 중에서 주석처리한 것을 추가 및 제거를 해 보시면 원하시는 답이 나올 것 같습니다. 잘 응용하여 보십시오~^^)
자유게시판이고 페이지당 목록 수가 20개로 설정이 되어 있다면
// 공지 처리
......
......
$notice_array[] = $row['wr_id'];
if($bo_table =='free'){
if($k < $from_notice_idx) continue;
$list[$i] = get_list($row, $board, $board_skin_url, G5_IS_MOBILE ? $board['bo_mobile_subject_len'] : $board['bo_subject_len']);
$list[$i]['is_notice'] = true;
//$i++; // 주석처리 안하면 이상함
$notice_count++; // 주석처리 안하면 첫페이지 공지+비공지=20개씩 노출, 주석처리하면 첫페이지 공지+비공지=공지+20개씩 노출
}
//if($k < $from_notice_idx) continue; //게시판 다음 페이지에도 공지가 보이게 주석처리
$list[$i] = get_list($row, $board, $board_skin_url, G5_IS_MOBILE ? $board['bo_mobile_subject_len'] : $board['bo_subject_len']);
$list[$i]['is_notice'] = true;
$i++;
//$notice_count++; //게시판 다음 페이지에도 공지가 보이게 주석처리
if($notice_count >= $list_page_rows)
break;