게시판 분류별 공지 게시글 질문드립니다

게시판 분류별 공지 게시글 질문드립니다

QA

게시판 분류별 공지 게시글 질문드립니다

답변 2

본문

안녕하세요,
그누보드 게시판 관련 작업/공부중인데요 좋은 방법이 있을까 해서 질문 드립니다.

현재 기본 그누보드 게시판을 사용하고 있고요 분류를 사용하고 있습니다.

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

bbs/list.php에

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

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

}

 

이 부분이 제가 고쳐야하는 부분인거 같아 조건문을

if(true)로 변경해보았더니

항상 공지가 나오지만, 모든 분류에 적용됩니다.
상단에 고정된 공지글들도 분류별로 나누어 list 목록에 보여줄 수 있는 방법이 있을까요?


239029530_1680672203.1217.png239029530_1680672225.2232.png

위 이미지를 예시로 자유게시판 버튼을 누르면 공지게시판의 상단 공지글이 보이지 않지만
전체나 공지게시판을 선택하면 상단 공지글이 보이게 하고 싶습니다.

감사합니다.

이 질문에 댓글 쓰기 :

답변 2

지금은 공지사항 부분에 해당 카테고리의 기준으로 가져오는거 같지 않는듯 합니다.

bbs/list.php 페이지에서 $arr_notice[$k] 라는 공지사항을 구분해서 가져오는 부분이 있는데

 

sca 값이 존재하면 카테고리안에서 검색해서 가져오도록 쿼리 부분을 수정해 주셔야 합니다.



    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 (!isset($row['wr_id']) || !$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;
        $list[$i]['num'] = 0;
        $i++;
        $notice_count++;
        if($notice_count >= $list_page_rows)
            break;
    }

쿼리 수정은 안하고
if (!isset($row['wr_id']) || !$row['wr_id']) continue;
아래에
if($sca != '' && $sca != $row['ca_name']) continue;
한줄 추가해서 해결했습니다.
이 방법이 제일 좋은 방법인지는 모르겠네요 ㅎㅎ;;;

감사합니다.

$is_search_bbs 변수값에 따라 최종 sql 이 달라지는 부분에서 차이가 났습니다
if ($is_search_bbs) 인 경우에도
$sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
위 코드를 추가해서 공지글들 빼고 쿼리 날리도록 수정했습니다.

https://sir.kr/g5_skin/54969

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