[관리] 분류 선택시 공지사항 상단 노출 > 정보공유

본문 바로가기

정보공유

일반글
그누보드팁

[관리] 분류 선택시 공지사항 상단 노출

페이지 정보

게시물QR코드

본문

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

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

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

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

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

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

그렇다면 같이 소스코드를 추가 히도록 하겠습니다.
우선 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 부분 부터 똑같이 추가하셨다면

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


 

댓글목록

등록된 댓글이 없습니다.

  • Addr.부산광역시 부산진구 중앙대로 666번길 50, 더샵센트럴스타 CEO. 이경애 Email. gnuwiz@naver.com
  • BR. 625-68-00172 TRC. 2019-부산해운대-1186 TEL. 0507-1382-2790
Copyright © 2017 ~ 그누위즈. All rights reserved.