Q&A

댓글 2

  • 물으신 게 이게 맞는지 모르겠어요. 공홈에 있는 팁을 이래저래 따라하다보니 겨우 실마리 정도 잡은 것 같아서 글 올립니다.

    integration_search.view.php 파일과 ko.lang.php 파일을 변경하는 기존 공홈 팁(https://xe1.xpressengine.com/tip/17366138)이 있던데, 요즘 코어 버전에서는 여기에 덧붙여 lang.xml 파일도 바꿔줘야 하겠더라구요.

     

    <item name="tag"> ~~~~ </item>

    아랫 줄에 다음과 같이 '확장변수+번호'에 맞는 번역언어들을 새로 추가해주는 거죠.

    <item name="extra_vars2">
    <value xml:lang="ko"><![CDATA[확장변수2]]></value>
    <value xml:lang="en"><![CDATA[extra_vars2]]></value>
    <value xml:lang="jp"><![CDATA[extra_vars2]]></value>
    <value xml:lang="zh-CN"><![CDATA[extra_vars2]]></value>
    <value xml:lang="zh-TW"><![CDATA[extra_vars2]]></value>
    <value xml:lang="fr"><![CDATA[extra_vars2]]></value>
    <value xml:lang="ru"><![CDATA[extra_vars2]]></value>
    <value xml:lang="es"><![CDATA[extra_vars2]]></value>
    <value xml:lang="tr"><![CDATA[extra_vars2]]></value>
    <value xml:lang="vi"><![CDATA[extra_vars2]]></value>
    </item>

     

    이렇게 해야 document,html에서 '확장변수2'라는 글자가 제대로 출력되더라구요.

    아, 참고로, 스킨 폴더(default 기준) document.html에서도

    <!--@if($key=="tag")-->를 <!--@if($key=="extra_vars2")-->로 바꿔주니까 목록 정렬(제목+내용 | 제목 | 내용 | 태그 | 확장변수2)이 예쁘게 됩니다.

     

    그 외 짐작되는 사항

    - 'extra_vars2' 또는 '확장변수2'라는 말에서 알 수 있는 것처럼, 각 게시판에서 '사용자 정의 이름'의 순서가 중요한 것 같습니다.

    - 숫자 없이 그냥 'extra_vars'로 하면 전체 확장변수에 대한 검색도 가능한 것 같아요.

    - 출력될 결과는 document,html에서 적당히 손보셔야 할 것 같구요.

    - 공홈 팁에 있던 다중검색항목은 안 해봐서 모르겠는데, 혹시 성공하시면 알려주세요 :)

  • integration_search.view.php
    103 번째 줄
    case 'document' :
                        $search_target = Context::get('search_target');
                        if(!in_array($search_target, array('title','content','title_content','tag','extra_vars1'))) $search_target = 'title_content';
                        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;

    137번째줄 
    default :
                        $output['document'] = $oIS->getDocuments($target, $module_srl_list, 'title_content', $is_keyword, $page, 5);
                        $output['comment'] = $oIS->getComments($target, $module_srl_list, $is_keyword, $page, 5);
                        $output['trackback'] = $oIS->getTrackbacks($target, $module_srl_list, 'title_content', $is_keyword, $page, 5);
                        $output['multimedia'] = $oIS->getImages($target, $module_srl_list, $is_keyword, $page, 5);
                        $output['file'] = $oIS->getFiles($target, $module_srl_list, $is_keyword, $page, 5);
                        $output['extra_vars1'] = $oIS->getDocuments($target, $module_srl_list, 'extra_vars1', $is_keyword, $page, 5);            
                        Context::set('search_result', $output);
                        Context::set('search_target', 'title_content');
                        $this->setTemplateFile("index", $page);
                        break;