일반적으로 그누보드의 게시판에서는 공지사항을 등록하는 기능이 있습니다.

하지만 공지사항을 등록시 분류를 사용하는 게시판이라면

아래와 같이 전체 분류에서만 공지사항이 상단에 나타나도록 되어있습니다.

40fa03de02f60ba3d2b0176b0fa5a928_1505463609_6726.png

공지의 분류가 분명 A 분류에 공지사항을 2개를 작성 했지만 A 분류를 클릭하게 되면

아래와 같이 A 분류에는 공지가 따로 표시가 되지않습니다.

40fa03de02f60ba3d2b0176b0fa5a928_1505463653_7688.png

하지만 간단한 소스코드를 추가하여 분류 선택시에도 해당 분류의 공지가 상단에 나타나도록 할 수 있습니다.

그렇다면 같이 소스코드를 추가 히도록 하겠습니다.
우선 www/bbs/list.php 파일을 열어서 아래의 소스코드 부분을 찾아보겠습니다.

<?

/* www/bbs/common.lib.php */


// 공지 처리

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]}' ");


        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 조건을 추가하여 분류 선택시 공지사항이 나타나도록 구현 해보겠습니다.

<?

/* www/bbs/common.lib.php */


// 공지 처리

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]}' ");


        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']));

    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++;

    }

}    

?>

위와 같이 else if 부분 부터 똑같이 추가하셨다면

아래와 같이 분류 선택시에도 공지사항이 정상적으로 나타나겠습니다.

40fa03de02f60ba3d2b0176b0fa5a928_1505464060_0883.png
 

추천 0 비추천 0
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 밴드 보내기
  • 블로그 보내기
  • 폴라 보내기
  • 카카오스토리 보내기
  • 텔레그램 보내기
  • 텀블러 보내기
댓글 0

게시판

RSS
번호 제목 글쓴이 날짜 추천 비추천
상단으로