웹마스터 팁

편법이라 안 올리려다가...
원하시는 분들이 있을 것 같아 올려봅니다...

현재(0.2.3까지) 달력 위젯의 검색기능이 단일 게시판에서만 통하는 문제가 있었습니다...
이걸 편법으로...
달력 위젯의 검색 요청을 통합검색 모듈로 보내서 2개 이상의 게시판에서 검색이 되도록 해 보려고 합니다...

달력 위젯은 cozy_simple을 수정하였습니다.
수정해야 할 파일은 총 3개입니다.
참고로 이걸 수행한다고 해서 본연의 통합검색 기능에 지장을 주지는 않습니다...



실제로 위 그림에서처럼 달력에서 날짜를 클릭하면 아래와 같이 나옵니다...



보시다시피, 달력의 날짜를 클릭하면 통합검색 옵션에 등록일 옵션이 추가되고, 날짜를 질의로 검색하는 것이죠...
(날짜를 클릭하면 해당일로 검색, 월을 클릭하면 월 전체로 검색, 년을 클릭하면 년 전체로 검색합니다)
맘에 안드시면 절대 하지마시길 바래요...^^;;
미리보기는 www.bio-it.or.kr 입니다...

자 시작해보죠...
제가 cozy_simple 스킨을 수정해서 cozy_simple_is라는 스킨을 만들었습니다...
파일 첨부를 했구요...
 수정한 파일은 하나뿐입니다...
파일내에 calendar.html 의 21번째 라인과 60번째, 62번째 라인을 수정했습니다.
위치: (zbxe/widgets/calendar/skins/cozy_simple_is/calendar.html)
수정하기 싫으시면 첨부 된 cozy_simple_is를 다운로드 받아서 /zbxe/widgets/calendar/skins/ 에 압축을 푸세요...

21:   <span class="fl"><a href="{getUrl('search_target','regdate','act', 'IS', 'is_keyword',zdate($widget_info->cur_date,'Y'))}">{zdate($widget_info->cur_date,"Y")}</a>.<a href="{getUrl('search_target','regdate','act', 'IS', 'is_keyword',zdate($widget_info->cur_date,'Ym'))}"><span class="mm">{zdate($widget_info->cur_date,"m")}</a></span></span>
        <span class="fr"><a href="{getUrl('search_target','regdate', 'search_keyword',$widget_info->prev_month)}"><img src="./images/{$colorset}/buttonArrowCalendarLeft.gif" alt="prev"></a><a href="{getUrl('search_target','regdate', 'search_keyword',$widget_info->next_month)}"><img src="./images/{$colorset}/buttonArrowCalendarRight.gif" alt="next"></a></span>

60: {@ $day_link = getUrl('','mid',$layout_info->mid,'search_target','regdate','act','IS','is_keyword',$cur_date) }
62: {@ $day_link = getUrl('','mid',$mid,'search_target','regdate','act','IS','is_keyword',$cur_date) }
 
보시다시피 날짜를 클릭했을때 통합검색으로 요청을 보내도록 변경한겁니다...

요청보내는 부분을 변경했으니, 이제 받는쪽에서도 변경해줘야겠죠...
변경해야할 파일은 총 2개입니다.

zbxe/modules/integration_search/lang/ko.lang.php
zbxe/modules/integration_search/integration_search.view.php

이것입니다.
자세한 것은 첨부파일을 보시구요...

ko.lang.php
 if(Context::get('search_target') == 'regdate') {
  $lang->is_search_option = $lang->is_search_option + array('regdate' => '등록일');
 }


이 부분을 추가했습니다...
등록일로 검색이 들어오면 검색 옵션에 등록일을 추가하라는 구문입니다.

integration_search.view.php
53번째 라인을 수정했습니다.
            if(!in_array($search_target, array('title','content'+ '+ ','title_content','comment','regdate'))) $search_target = '+ 'title';

regdate로 요청이 들어오면 무시하지 말어라...뭐 이런말이죠...

수정하기 싫으시면 첨부파일을 덮어쓰세요...

이제 준비는 끝났구요...

페이지를 하나 만드시고...(만들어져 있다면 달력 위젯을 추가하세요(cozy_simple_is 스킨으로))
모듈리스트 체크할때 검색하고자 하는 게시판을 모두 선택해주세요...
그래야 달력의 날짜밑에 underline이 생기겠죠...


이제 마지막으로 ZBXE 관리모드의 모듈에서 통합검색을 설정해주세요...
역시 날짜검색시 검색 될 모든 모듈을 선택하여주시면 됩니다...



이러면 끝납니다.
그 동안 삽질이었습니다...
개선 버전이 나오기 전까지 써야죠...뭐...
T.T
태그 연관 글
  1. [2016/12/19] 묻고답하기 달력 위젯을 html 에 넣어서 설치하면 제대로 나오질 않습니다. by 섬휘
  2. [2015/10/16] 묻고답하기 검색이 안됩니다. by sports21
  3. [2015/07/03] 묻고답하기 확장변수 검색 불가 by Xe재미나게
  4. [2014/11/18] Learn XECon 2014 - ElasticSearch를 이용한 통합검색 구축방법 by XE
  5. [2014/06/17] 묻고답하기 XE문제 일까요? 카페24 호스팅 문제 일까요? 통합검색이 안되요 by joel74 *3