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

게시판 분류별 공지 게시글 질문드립니다 채택완료

임상빈 2년 전 조회 2,007

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

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

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

bbs/list.php에

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

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

}

 

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

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

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


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

감사합니다.

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

답변 2개

채택된 답변
+20 포인트
플라이
2년 전

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

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

 

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


</p>

<p>    for ($k=0; $k<$board_notice_count; $k++) {

        if (trim($arr_notice[$k]) == '') continue;</p>

<p>        //위 부분 쿼리 수정 필요</p>

<p>        <strong>$row = sql_fetch(" select * from {$write_table} where wr_id = '{$arr_notice[$k]}'  ");</strong></p>

<p>        if (!isset($row['wr_id']) || !$row['wr_id']) continue;</p>

<p>        $notice_array[] = $row['wr_id'];</p>

<p>        if($k < $from_notice_idx) continue;</p>

<p>        $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++;</p>

<p>        if($notice_count >= $list_page_rows)

            break;

    }</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

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

감사합니다.
임상빈
2년 전
아이고,,,
분류를 선택했을때 상단고정 공지글이 중복되어 표시되는 문제점이 있네요 ㅠㅠ
임상빈
2년 전
$is_search_bbs 변수값에 따라 최종 sql 이 달라지는 부분에서 차이가 났습니다
if ($is_search_bbs) 인 경우에도
$sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
위 코드를 추가해서 공지글들 빼고 쿼리 날리도록 수정했습니다.

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

임상빈
2년 전
오 감사합니다!

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

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

로그인