제 사이트에서 통합검색을 하게 되면 당연하게도
[제목+내용]으로 검색된 내용이 가장 우선적으로 뜨는데
[제목]으로만 검색된 결과가 먼저 나오게 하는 방법은 없을까요?
PHP | PHP 7.4 |
---|---|
CMS | Rhymix 2.1 |
제 사이트에서 통합검색을 하게 되면 당연하게도
[제목+내용]으로 검색된 내용이 가장 우선적으로 뜨는데
[제목]으로만 검색된 결과가 먼저 나오게 하는 방법은 없을까요?
우선 답변 정말 감사합니다!! :)
말씀해주신대로 변경하니까 [제목]이 앞으로 나오긴 했습니다!
다만, 실제 검색했을때는 사진처럼 여전히 [제목+내용]의 검색결과가 우선적으로 뜹니다!
그거는 애초에 통합검색 자체가 title이 아니라 title_content를 검색대상으로 지정하고 있기 때문이에요.
- 레이아웃에 포함되어 있는 통합검색 필드(name="search_target")에서 value를 title로 바꿔주셔야 하구요.
- 그리고 통합검색 스킨 자체에 들어 있는 통합검색 필드 등에서도 value를 title로 잡을 수 있도록 수정해야 할 겁니다.
(아래 기진곰님 댓글을 참고하세요)
마지막으로 사이트 전반적으로 통합검색 결과가 '제목' 우선이 되려면, 코어에서 integration_search.view.php 파일도 수정이 불가피합니다.
- 162행 : if(!in_array($search_target, array('title','content','title_content','tag'))) $search_target = 'title';
- 214행 : $output['document'] = $oIS->getDocuments($target, $module_srl_list, 'title', $is_keyword, $page, 5);
- 246행 : Context::set('search_target', 'title');
등으로 해주셔야 하는데, 코어 수정은 비추이긴 하죠.
현재 하시는 작업이 꼭 필요한 기능이라면 따로 애드온 등을 제작하시는 걸 추천합니다.
애드온 제작 의뢰 등이 어려우시다면, 가급적 이전 댓글에서 수정된 사항을 중심으로 운영하시는 게 좋을 것 같아요.
검색 폼 부분의 소스에다가 아래의 내용을 추가해 보세요.
만약 name="search_target"으로 되어 있는 태그가 이미 있다면 value만 "title"로 바꿔주세요.
<input type="hidden" name="search_target" value="title" />
제가 라이믹스를 잘아는 편이 아니라..
혹시 검색 폼 부분의 소스가 어떤 파일을 말씀하시는 것인지 알려주시면
바로 해당 내용추가해보겠습니다!
도와주셔서 너무 감사드립니다!
integration_search.view.php 를 말씀하시는 걸까용?
사용하시는 레이아웃이나 통합검색 스킨에서 검색어 입력하는 빈칸,
검색 버튼 등에 해당하는 소스가 어디에 있는지 찾아 보세요.
integration_search.view.php처럼 코어에 해당하는 부분은 신경쓰지 않아도 됩니다.
코어 수정을 요구하는 답변은 애초에 드리지 않으니까요.^^
사용하시는 통합검색 스킨 폴더에 (일반적으로는) document.html 같은 파일이 있을 겁니다.
해당 파일에 $lang->is_search_option['document']라는 변수가 나오는 부분이 있을 텐데요.
1. 그 윗 줄쯤에
{@
$new_search_option = array_merge([
'title' => $lang->is_search_option['document']['title'],
], $lang->is_search_option['document']);
}
이라고 삽입해보시고요.
2. 좀 전에 찾았던 $lang->is_search_option['document'] 대신 $new_search_option로 변경해보세요.