웹마스터 팁

원본 글 출처 : 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>


 

 

제목 글쓴이 날짜
건대안마【출장마사지안내.COM】건대스웨디시 건대1인샵 건대마사지 songkangkong767 2025.02.23
구미오피 구미출장안마 ⦑오피.CLUB⦒ 구미OP 구미오피 구미오피 koykoyah 2025.02.23
동탄안마【출장마사지안내.COM】동탄 안마 동탄안마 동탄안마 songkangkong767 2025.02.23
청주오피 ⦑오피쓰주소.COM⦒ 청주OP 청주오피 청주출장샵 청주오피 koykoyah 2025.02.23
일산마사지【오피사이트.NET】일산마사지 일산 마사지 일산마사지 songkangkong767 2025.02.23
동두천오피 동두천OP ⦑출장안마사이트.COM⦒ 동두천휴게텔 동두천오피 동두천오피 koykoyah 2025.02.23
강동1인샵【오피쓰주소.COM】강동안마 강동마사지 강동스웨디시 songkangkong767 2025.02.23
강북오피 ⦑오피쓰.COM⦒ 강북마사지 강북오피 강북오피 강북OP koykoyah 2025.02.23
해운대스웨디시【오피쓰주소.COM】해운대1인샵 해운대마사지 해운대안마 songkangkong767 2025.02.23
압구정오피 ⦑오피쓰주소.COM⦒ 압구정마사지 압구정오피 압구정오피 압구정OP koykoyah 2025.02.23
구미마사지【출장마사지안내.COM】구미스웨디시 구미1인샵 구미안마 songkangkong767 2025.02.23
강남오피 ⦑오피쓰주소.COM⦒ 강남오피 강남OP 강남건마 강남오피 koykoyah 2025.02.23
역삼1인샵【오피쓰주소.COM】역삼 1인샵 역삼1인샵 역삼1인샵 songkangkong767 2025.02.23
해운대오피 해운대출장안마 ⦑오피.CLUB⦒ 해운대OP 해운대오피 해운대오피 koykoyah 2025.02.23
동대문마사지【오피사이트.NET】동대문스웨디시 동대문안마 동대문1인샵 songkangkong767 2025.02.23
구미오피 ⦑출장안마사이트.COM⦒ 구미오피 구미OP 구미건마 구미오피 koykoyah 2025.02.23
세종마사지【오피사이트.NET】세종마사지 세종 마사지 세종마사지 songkangkong767 2025.02.23
판교오피 ⦑오피.CLUB⦒ 판교오피 판교OP 판교건마 판교오피 koykoyah 2025.02.23
청주스웨디시【오피사이트.NET】청주스웨디시 청주 스웨디시 청주스웨디시 songkangkong767 2025.02.23
강서오피 ⦑출장안마사이트.COM⦒ 강서오피 강서출장마사지 강서오피 강서OP koykoyah 2025.02.23