테스트 사이트 - 개발 중인 베타 버전입니다

[G5.3] 카테고리 선택해도 카테고리에 속한 공지사항 보이게 하기.

전체 리스트에서는 공지사항이 보이는데

카테고리를 선택하면 공지사항이 안보이길래 수정해봤습니다.

 

/bbs/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'], G5_ADMIN_BBS_URL);
        $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']));
    $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]}' and ca_name = '$sca' ");

        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'], G5_ADMIN_BBS_URL);
        $list[$i]['is_notice'] = true;

        $i++;
        $notice_count++;

        if($notice_count >= $list_page_rows)
            break;
    }
}

공지처리 하는 부분에 이 부분을 추가해줍니다.

 

if ($is_search_bbs) {
   
if( $sca && !$stx ) {
        $sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";
        if(!empty($notice_array))
            $sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
        $sql .= " {$sql_order} limit {$from_record}, $page_rows ";
    } else {
        $sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$sql_order} limit {$from_record}, $page_rows ";
    }
} else {
    $sql = " select * from {$write_table} where wr_is_comment = 0 ";
    if(!empty($notice_array))
        $sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
    $sql .= " {$sql_order} limit {$from_record}, $page_rows ";
}

 

리스트 가져오는 부분 검색어가 있을경우 조건안쪽의 쿼리문을 수정해 줍니다.

 

감사합니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 7개

감사합니다 나중에 적용해봐야겠네요
좋은정보 감사합니다.
찾고 있던 내용이었는데 감사합니다^^
이코드 다른분들은 되나요?
전 아무리해도 안되네요~
그누 5.4에도 잘 적용했습니다.
덕분에 어려운 문제를 해결했네요. 고맙습니다!
감사합니다 덕분에 잘해결했어요

게시글 목록

번호 제목
24318
24317
24315
24309
24294
24293
24277
24262
24260
24253
24251
24236
24233
24228
24226
24221
24214
24203
24201
24199
24196
24195
24194
24192
24191
24187
24185
24183
24172
24168