웹마스터 팁

원본 글 출처 : http://sejin7940.co.kr/index.php?mid=xe_tips&document_srl=102289

 

 ====================================

 

게시판 설정에서, 정렬기준을  사용자정의값으로 저장가능한 Core 기반에서는

https://www.xpressengine.com/tip/22912043  참조해서  설정 저장 안 되는 버그 수정할 것

 

 

게시판 설정 기준 정렬 기능이 없는 Core 사용시에는

https://www.xpressengine.com/tip/22567972   참조해서,  정렬기능 추가할 것

 

====================================

 

 

현재 사용자정의 기준으로 정렬을 하면  getDocumentListExtraSort.xml  파일이 구현되고.
이 query 는 sort_index 대신 sort가 고정되어있고
사용자정의 기준으로 검색을 하면  getDocumentListWithinExtraVars.xml  파일이 실행되는데
이건 검색만 해당 eid 로 될뿐,  실제 정렬은 사용자정의를 제외한 일반 검색만 가능하게 되어있다.

 

이는 사용자정의 기준으로 정렬 설정을 해두고 사용자정의 검색할때뿐만 아니라.
기본 정렬 (등록일이나 문서번호) 로 정렬 후,  목록에서 사용자정의 기준으로 재정렬 한 후,  사용자정의 검색할때도
마찬가지로 결과가 안 나오는 문제가 발생한다.

 

결국 각각 다른 사용자정의 기준으로도  정렬 과 검색이 각각 될 수 있도록
테이블 3개를 join 한 새로운 query 를 추가하여 구현되도록 보완했다

 

 


1.
modules/document/document.model.php 에서

function getDocumentList  함수에서

if ($sort_check->isExtraVars)  


이 한줄을 아래 구문 전체로 교체

if ($sort_check->isExtraVars && substr_count($obj->search_target,'extra_vars'))
{
 $query_id = 'document.getDocumentListWithinExtraVarsExtraSort';
 $args->sort_index = str_replace('documents.','',$args->sort_index);
 $output = executeQueryArray($query_id, $args);
}
elseif ($sort_check->isExtraVars)

 

 

 

2.
modules/document/queries/getDocumentListWithinExtraVarsExtraSort.xml

파일 신규 생성

 

<query id="getDocumentListWithinExtraVarsExtraSort" action="select">
    <tables>
        <table name="documents" alias="d" />
        <table name="document_extra_vars" alias="ev" />
        <table name="document_extra_vars" alias="es" />
    </tables>
    <columns>
        <column name="d.*" />
    </columns>
 <index_hint name="idx_document_list_order" type="use" />
    <conditions>
        <condition operation="equal" column="ev.eid" var="sort_index" />
        <condition operation="equal" column="ev.document_srl" default="d.document_srl" pipe="and" />
        <condition operation="in" column="d.module_srl" var="module_srl" filter="number" pipe="and" />
        <condition operation="notin" column="d.module_srl" var="exclude_module_srl" filter="number" pipe="and" />
        <condition operation="in" column="d.category_srl" var="category_srl" pipe="and" />
        <condition operation="equal" column="d.is_notice" var="s_is_notice" pipe="and" />
        <condition operation="equal" column="d.member_srl" var="member_srl" filter="number" pipe="and" />
        <condition operation="in" column="d.status" var="statusList" pipe="and" />
        <group pipe="and">
            <condition operation="more" column="d.list_order" var="division" pipe="and" />
            <condition operation="below" column="d.list_order" var="last_division" pipe="and" />
        </group>
        <group pipe="and">
            <condition operation="like" column="d.title" var="s_title" />
            <condition operation="like" column="d.content" var="s_content" pipe="or" />
            <condition operation="like" column="d.user_name" var="s_user_name" pipe="or" />
            <condition operation="like" column="d.user_id" var="s_user_id" pipe="or" />
            <condition operation="like" column="d.nick_name" var="s_nick_name" pipe="or" />
            <condition operation="like" column="d.email_address" var="s_email_addres" pipe="or" />
            <condition operation="like" column="d.homepage" var="s_homepage" pipe="or" />
            <condition operation="like" column="d.tags" var="s_tags" pipe="or" />
            <condition operation="equal" column="d.is_secret" var="s_is_secret" pipe="or" />
            <condition operation="equal" column="d.member_srl" var="s_member_srl" pipe="or" />
            <condition operation="more" column="d.readed_count" var="s_readed_count" pipe="or" />
            <condition operation="more" column="d.voted_count" var="s_voted_count" pipe="or" />
            <condition operation="less" column="d.blamed_count" var="s_blamed_count" pipe="or" />
            <condition operation="more" column="d.comment_count" var="s_comment_count" pipe="or" />
            <condition operation="more" column="d.trackback_count" var="s_trackback_count" pipe="or" />
            <condition operation="more" column="d.uploaded_count" var="s_uploaded_count" pipe="or" />
            <condition operation="like_prefix" column="d.regdate" var="s_regdate" pipe="or" />
            <condition operation="like_prefix" column="d.last_update" var="s_last_update" pipe="or" />
            <condition operation="like_prefix" column="d.ipaddress" var="s_ipaddress" pipe="or" />
        </group>
        <group pipe="and">
            <condition operation="more" column="d.last_update" var="start_date" pipe="and" />
            <condition operation="less" column="d.last_update" var="end_date" pipe="and" />
        </group>
  <group pipe="and">
   <condition operation="equal" column="es.var_idx" var="var_idx" pipe="and" />
   <condition operation="like" column="es.value" var="var_value" pipe="and" />
   <condition operation="equal" column="es.document_srl" default="d.document_srl" pipe="and" />
  </group>
    </conditions>
    <navigation>
        <index var="ev.value" default="ev.value" order="order_type" />
        <list_count var="list_count" default="20" />
        <page_count var="page_count" default="10" />
        <page var="page" default="1" />
    </navigation>
</query>


 

 

제목 글쓴이 날짜
판교오피 ⦑오피.CLUB⦒ 판교OP 판교오피 판교출장샵 판교오피 koykoyah 2025.02.27
분당1인샵【오피쓰.COM】분당1인샵 분당 1인샵 분당1인샵 songkangkong767 2025.02.27
분당오피 ⦑출장안마사이트.COM⦒ 분당마사지 분당오피 분당오피 분당OP koykoyah 2025.02.27
대전안마【오피사이트.NET】대전안마 대전 안마 대전안마 songkangkong767 2025.02.27
부산오피 부산오피 ⦑출장마사지안내.COM⦒ 부산OP 부산스파 부산오피 koykoyah 2025.02.27
일산마사지【오피사이트.NET】일산스웨디시 일산안마 일산1인샵 songkangkong767 2025.02.27
부평오피 부평오피 ⦑출장안마사이트.COM⦒ 부평OP 부평스파 부평오피 koykoyah 2025.02.27
동대문안마【출장안마사이트.COM】동대문1인샵 동대문스웨디시 동대문마사지 songkangkong767 2025.02.27
산본오피 ⦑오피.CLUB⦒ 산본OP 산본오피 산본출장샵 산본오피 koykoyah 2025.02.27
강서스웨디시【오피.CLUB】강서 스웨디시 강서스웨디시 강서스웨디시 songkangkong767 2025.02.27
압구정오피 압구정출장안마 ⦑오피사이트.NET⦒ 압구정OP 압구정오피 압구정오피 koykoyah 2025.02.27
안산마사지【오피.CLUB】안산 마사지 안산마사지 안산마사지 songkangkong767 2025.02.27
연신내오피 ⦑출장안마사이트.COM⦒ 연신내마사지 연신내오피 연신내오피 연신내OP koykoyah 2025.02.27
강북마사지【오피쓰주소.COM】강북 마사지 강북마사지 강북마사지 songkangkong767 2025.02.27
강북오피 강북OP ⦑오피쓰주소.COM⦒ 강북휴게텔 강북오피 강북오피 koykoyah 2025.02.27
부천마사지【출장안마사이트.COM】부천1인샵 부천스웨디시 부천안마 songkangkong767 2025.02.27
포항오피 ⦑오피쓰주소.COM⦒ 포항오피 포항출장마사지 포항오피 포항OP koykoyah 2025.02.27
역삼안마【출장마사지안내.COM】역삼 안마 역삼안마 역삼안마 songkangkong767 2025.02.27
부산오피 ⦑오피사이트.NET⦒ 부산오피 부산OP 부산건마 부산오피 koykoyah 2025.02.27
건대1인샵【출장안마사이트.COM】건대1인샵 건대 1인샵 건대1인샵 songkangkong767 2025.02.27