전체 검색시 게시판탭 하나 선택시 사라짐 문제
본문
그누보드 QA - 전체 검색 탭 질문드립니당 (sir.kr)
전체검색시 상단에 확인 되어지는 게시판별 분류탭이 하나를 클릭하면 다른 게시판에
해당되는 분류탭이 사라집니다 $onetable이 설정되면서 사라지는 것 같은데
저오 같은 고민을 하신분이 계서서 찾아는 봤는데 저에게 적용하니 너무 다른 문제가 발생해서 재질문 드립니다. 혹시 방법이 없을까요?
전체가 나와있는 화면에서 준비를 눌리면
이런식으로 선택한게 아닌 다른 분류탭들이 사라집니다
search.php 와 search.list.skin을 이래 저래 굴려봐도... 안 되서 질문드립니다..!
답변 1
해당 부분은 의도한 부분이기 때문에 변경이 많이 어렵습니다.
(search.php 구조 전반을 대폭 수정해야 하거나, 수정하더라도 비효율적인 코드가 될 수 있습니다.)
특정 게시판을 선택한 후,
다른 게시판을 선택하고 싶은 경우에는 [전체게시판]을 한 번 클릭한 후,
다른 특정 게시판을 선택하면 됩니다. (그누보드에서 의도한 바입니다.)
(그대로 쓰는 것을 좀 더 추천합니다. 대부분 사이트에서 이를 수용하고 그대로 쓰고 있습니다.)
그럼에도.. 나름의 방법을 하나 찾은게 있긴 한데..
결국 [특정 게시판]을 클릭했을 때도..
전체 게시판 쿼리를 한번 더 해오는 방식이라..
비효율적인 코드가 되었고.. 추천드리지는 않습니다.
* /search.skin.php 상단에 추가
if ($onetable) {
$str_board_list = "";
$sch_all = "";
$sql = " select gr_id, bo_table, bo_subject, bo_read_level from {$g5['board_table']} where bo_use_search = 1 and bo_list_level <= '{$member['mb_level']}' ";
if ($gr_id)
$sql .= " and gr_id = '{$gr_id}' ";
$result = sql_query($sql);
for ($i = 0; $row = sql_fetch_array($result); $i++) {
$tmp_write_table = $g5['write_prefix'] . $row['bo_table'];
$sql = " select wr_id from {$tmp_write_table} where {$sql_search} ";
$result2 = sql_query($sql, false);
$row2['cnt'] = @sql_num_rows($result2);
if ($row2['cnt']) {
$board_count++;
$sch_class = "";
if ($onetable == $row['bo_table']) $sch_class = "class=sch_on";
$str_board_list .= '<li><a href="'.$_SERVER['SCRIPT_NAME'].'?'.$search_query.'&gr_id='.$gr_id.'&onetable='.$row['bo_table'].'" '.$sch_class.'><strong>'.((G5_IS_MOBILE && $row['bo_mobile_subject']) ? $row['bo_mobile_subject'] : $row['bo_subject']).'</strong><span class="cnt_cmt">'.$row2['cnt'].'</span></a></li>';
}
}
}
!-->
답변을 작성하시기 전에 로그인 해주세요.