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

2021-08-20 (금) 11:01:02 4,383

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

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

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

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

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

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

Copy
//공지 처리

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의 코드입니다)

위 코드를 그대로 집어넣어도 안되고, 아래 코드를 주석처리 하고 넣어도 안되고

그냥 주석처리만 해도 안되더군요 ㅠㅠ;

Copy
// 공지 처리

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개

2021-08-20 (금) 13:18:46

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

bbs/list.php

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

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

}

if( true)로 변경하시면

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

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

답변을 작성하려면 로그인이 필요합니다.