분류 에서 공지사항 보이기 (if ($list[$i]['is_notice']) 미적용)

분류 에서 공지사항 보이기 (if ($list[$i]['is_notice']) 미적용)

QA

분류 에서 공지사항 보이기 (if ($list[$i]['is_notice']) 미적용)

답변 1

본문

분류를 사용하는 게시판이고 일부러 전체 항목은 보이지 않게 숨겼습니다 (분류1이 기본)

그런데 해당 게시판에서는 공지에 체크를 해도 공지글로 뜨지 않더군요.

if ($list[$i]['is_notice']) 가 적용이 안되는 것 같은데 원인이 뭘까요...?;

 

* 전체 보기로 해보니까 if ($list[$i]['is_notice'])가 적용되어 공지 글은 다르게 나오는 걸 확인했습니다.

분류가 적용되는 순간 조건문이 발동을 안하는 것 같아요. 

 

검색하면 www/bbs/list.php아래 코드를 찾으라고 하는데 조건문이 다릅니다

 


//공지 처리
if (!$sca && !$stx) {
    $arr_notice = explode(',', trim($board['bo_notice']));
    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]}' ");
 
        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++;
    }
} 
else if ($sca && !$stx) {
    $arr_notice = explode(',', trim($board['bo_notice']));
    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++;
    }
} 

 

공지 처리로 검색해보니 조건문의 조건이 다릅니다 (아래가 제가 가진 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<$board_notice_count; $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;
    }
}

 

 

이 질문에 댓글 쓰기 :

답변 1

분류를 선택하면 공지글은 안 나옵니다.

bbs/list.php

// 공지 처리
if (!$is_search_bbs) {

    $arr_notice = explode(',', trim($board['bo_notice']));
...

}

if( true)로 변경하시면

항상 공지가 나오고, 모든 게시판에 적용됩니다.

군데군데 고쳐야 할 곳이 더 있을 겁니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 358
© SIRSOFT
현재 페이지 제일 처음으로