웹마스터 팁
게시판 하단 검색대상의 순서,노출항목 들 제어하는 방법
2013.10.15 21:00
원본글 출처 : http://sejin7940.co.kr/index.php?mid=xe_tips&document_srl=94547
============================================
게시판의 검색항목의 검색대상 항목이나 순서를 조정하는 방법은..
1)
게시판 스킨 자체를 고쳐서, 원하시는 항목들만 딱 노출하는 방법은
http://www.xpressengine.com/index.php?mid=tip&search_keyword=%EA%B2%80%EC%83%89&search_target=title&document_srl=18147682
글을 참고하시면 될듯하고 (딱 고정이 되기에 확장변수 쪽은 연결이 안 되는 단점이 있는 수정법입니다)
2)
스킨이 아니라 board 모듈 자체를 수정해서 적용하는 방법은..
(이 방법으로 하면 확장변수의 검색대상 체크 기능에 따라 자동으로 조절이 될겁니다)
소스상으로는, 기본적인 검색이 나오고 그 후 확장변수 검색항목이 나오게 되어있습니다
확장변수를 위에 먼저 출력시키고프면
modules/board/baord.view.php 에서
function dispBoardContent 함수에서
foreach($this->search_option as $opt) $search_option[$opt] = Context::getLang($opt);
$extra_keys = Context::get('extra_keys');
if($extra_keys) {
foreach($extra_keys as $key => $val) {
if($val->search == 'Y') $search_option['extra_vars'.$val->idx] = $val->name;
}
}
Context::set('search_option', $search_option);
부분을
$extra_keys = Context::get('extra_keys');
if($extra_keys) {
foreach($extra_keys as $key => $val) {
if($val->search == 'Y') $search_option['extra_vars'.$val->idx] = $val->name;
}
}
foreach($this->search_option as $opt) $search_option[$opt] = Context::getLang($opt);
Context::set('search_option', $search_option);
이렇게 바꾸시면 됩니다.
(확장변수 내의 순서는.. 확장변수 순서에 따르고, 검색에 노출여부는 확장변수 선언시 검색에 체크여부에 따라 결정됩니다)
참고로, XE 기본 검색항목 부분 검색노출 순서를 변경하고프면..
board.class.php 에서
var $search_option = array('title','content','title_content','comment','user_name','nick_name','user_id','tag');
의 순서를 변경하시면 됩니다
특정 검색항목을 빼고 싶으면, 이 배열에서 해당 항목을 없애면 되고요
특정게시판에서만 이 설정을 적용하고싶은데 어떻게하면될까요?