통합검색해서 특정모듈을 대상으로 검색하게 하는 코드가 혹시 있을까요..
누리고 상품검색 통합검색의 경우 검색이..
http://eond.com/index.php?mid=shop&act=IS&is_keyword=검색어&where=product&page=1
이렇습니다.
통합검색에서 원하는 모듈을 대상으로만 검색 가능한 코드가 혹시 있을까요?
통합검색에서 특정 게시판만 검색하고 싶습니다.
https://xe1.xpressengine.com/qna/21907407
통합검색시 게시판 별로 볼 수 있도록 하는 방법 있나요 ?
통합검색 게시판별 설정 못하나요? 흠.. https://xe1.xpressengine.com/index.php?mid=qna&search_target=title&search_keyword=통합검색&page=2&document_srl=23068706
통합검색시 선택한 게시판 또는 페이지만 검색하도록 가능한가요?? https://xe1.xpressengine.com/index.php?mid=qna&search_target=title&search_keyword=통합검색&page=8&document_srl=19823993
통합검색시 지정모듈만 검색가능하게 설정하는 방법 https://xe1.xpressengine.com/index.php?mid=qna&search_target=title&search_keyword=통합검색&page=10&document_srl=18707879
몇년동안 질문만 있고 답변은 하나도 없군요 -_-;;
카르마님의 통합검색 확장모듈을 사용 중입니다.
통합검색확장모듈에서 원하는 특정 게시판만 대상으로 검색하게 수정하고 싶습니다.
해당 기능을 담당하는 클래스를 찾아서 switch나 옵션을 주면 된다는 소리를 들어서요.
통합검색자체도 메서드라고 하더군요.
그래서 해당 메서드 입력값을 하나 더 주고 옵션으로 사용 가능하다고 합니다.
우선 해당 클래스를 찾아 해당 클래스 내의 메서드 중에서 검색에 해당하는 메서드의 입력 변수값을 하나 더 추가한 뒤에, 추가된 변수에 해당 게시판 코드를 담아서 실행하면 된다고 하는데요.
먼저 뷰단에서 통합검색 스킨의 form 구조에서 act가 IS 라고 되어있어서
isx.view.php 파일 에서 ISX라는 매서드를 찾았습니다.
해당 매서드 안에 $module_srl = Context::get('module_srl'); 이라는 변수를 임의로 추가해넣었습니다.
// 모듈아이디에 따른 검색 변수 추가 $module_srl = Context::get('module_srl'); // integration search model객체 생성 if($is_keyword) { $oISx = &getModel('isx'); $oIS = &getModel('integration_search'); switch($where) { case 'document' : $search_target = Context::get('search_target'); if(!in_array($search_target, array('title','content','title_content','tag'))) $search_target = 'title'; Context::set('search_target', $search_target); $output = $oIS->getDocuments($target, $module_srl_list, $search_target, $is_keyword, $page, 10); Context::set('output', $output); $this->setTemplateFile("document", $page); break;
일단 변수를 추가하는 것 까진 진행했는데, 이 추가된 변수에 해당 게시판 코드를 담아서 실행하는 방법을 모르겠습니다.;
$is_keyword 모델 객체 안에 $where 안에 case 'document' 안에 $module_srl 을 집어넣으면 될거 같은데..
고수님들의 손길이 필요합니다. ㅠ
해당 모듈을 수정하고자 하는 기능은 다음과 같습니다만..
1. 특정게시판 지정 검색기능
2. 특정검색어는 검색기록에서 제외하는 기능
3. 특정아이피 대역은 검색 기록에서 제외하는 기능
4. 로봇은 검색 기록에서 제외하는 기능
5. 검색목록에서 체크박스를 이용해서 선택 삭제하는 기능
처음부터 막혔네요 ㅠ
한꺼번에 다섯개의 질문을 동시에 하신 건가요?
2,3,4번은 기존 XE의 기능을 조금씩 확장하면 가능할 것같습니다.
다섯번째 문제는 저도 익히 알고 있고 건의도 많았지만 노가다가 귀찮아서 쌩까고 있는 중입니다.
누구 능력되시는 분이 추가해주시면 고맙겠습니다.
첫번째 질문의 답도 의외로 간단합니다.
제 사이트에서 검색을 해보시면 아시겠지만 식물도감을 검색하는 부분이 있고 식물정보를 검색하는 부분이 있습니다.
예를 들어 식물정보를 검색하는 부분의 소스는 다음과 같습니다.
기존 integration_search.model에 들어있는 getDocuments($target, $module_srls_list, $search_target, $search_keyword, $page=1, $list_count = 20) 에서 $module_srls_list에 특정 모듈은 지정해주면 해당 모듈에서만 검색이 이루어집니다.
&where=term 으로 검색하시면 해당 모듈에서만 검색이 가능합니다.