위젯의 정렬을 사용자정의값으로 정렬해주고자 합니다.

컨텐츼 위젯의 클래스 파일에서, 사용자정의값 항목 이름인 event_date를 그대로 적어주니 안되더라고요.

// 정렬 대상
if(!in_array($args->order_target, array('list_order','update_order','regdate','voted_count','rand()','event_date'))) $args->order_target = 'list_order';

직접 사용자정의이름 값이 아니라, 

if(!in_array($args->order_target, array('list_order','update_order','regdate','voted_count','rand()','extra_vars'))) $args->order_target = 'list_order';

이렇게 넣어주면 될거 같은데, 사용자정의도 여러개가 있는데 제가 원하는 값대로 정렬하려면 어떻게 하면 되나요?

 

참조

https://xetown.com/index.php?_filter=search&mid=qna&search_keyword=%EC%82%AC%EC%9A%A9%EC%9E%90%EC%A0%95%EC%9D%98&search_target=title_content&document_srl=500043

http://shareyours.com/index.php?mid=xe&order_type=desc&sort_index=title&listStyle=webzine&document_srl=194

https://xe1.xpressengine.com/index.php?mid=tip&search_target=title_content&search_keyword=%ED%99%95%EC%9E%A5%EB%B3%80%EC%88%98&document_srl=22567972

https://xe1.xpressengine.com/tip/22567972

https://xe1.xpressengine.com/qna/17948642

 

https://xe1.xpressengine.com/tip/18655076

 

질문글이 있었지만;

위젯을 특정 확장변수 기준으로 정렬하고 싶은데 어떻게 하면 될..(하늘꿈쟁이, 2016.12.09)

https://xetown.com/qna/445748

 

답변이 없네요;

 

XE 쿼리문을 사용해서..

https://xe1.xpressengine.com/qna/23220255

이렇게 하면 된다고 하는데;

https://xe1.xpressengine.com/qna/21618072

 

 

http://mist.co.kr/?mid=work&document_srl=3017&listStyle=viewer

이거 보고 타임라인 위젯에서 참조해서 하면 된다네요

  • profile
    우선 도큐먼트쪽에서 정렬하는 기준같은데 확장변수 DB가 도큐먼트에 포함되어있나요??
  • profile profile
    xe_documents 테이블에는 extra_vars 필드만 있고요,
    xe_documents_extra_vars 라는 테이블에 eid 필드에 'event_date' 값이 있습니다.
  • profile profile
    xe_documents 대로 불러오고 xe_documents -> xe_documents_extra_vars 하고 대입해서 -> xe_documents를 재정렬 하는 방식으로 무식하게 만들어야하지 않을까요??
  • profile profile
    게시판에서는 정렬 기능을 살펴보면 크게 어렵지 않습니다.

    http://eond.com/index.php?mid=client&sort_index=deposit&order_type=asc

    이런 식으로 sort_index=사용자정의값(deposit) 을 넣어주면 되거든요.

    위젯코드도.. 보면...

    <img class="zbxe_widget_output" widget="cameronListOne" skin="neat_list" module_srls="360455" order_target="list_order" order_type="desc" option_view="title,comment_count,voted_count,nickname,regdate,extravar" show_category="N" show_icon="Y" category_range="all" hyperlink="Y" hyperlink_src="article" view_permission="list" view_secret_document="all_user" />

    order_target="list_order" 이 부분이 정렬 기능을 담당하는데요,
    해당 위젯의 클래스 파일을 살펴보면 별 다른게 없거든요.

    $obj->sort_index = $args->order_target;

    이런 식으로 글 목록을 구하고

    // 정렬 대상
    if(!in_array($args->order_target, array('list_order','update_order','regdate','voted_count','rand()','deposit'))) $args->order_target = 'list_order';

    정렬대상에 이런 식이라서 제가 임의로 'deposit' 값을 추가해줬습니다..

    deposit 값이 사용자정의거든요.

    주소를 보면, &sort_index=deposit 이런 식으로 되서 간단한 거 같은데
    이게 안되는군요;
  • ?
    가져온 최근 글을 확장 변수에 따라 정렬하겠다는 건가요
    처음부터 확장 변수에 따른 최근 글을 가져오겠다는 건가요

    둘다 저 구문만으로는 불가능합니다.
  • ? profile
    처음부터 사용자정의값에 따라 정렬을 할려구요.
    컨텐츠위젯의 정렬 기능을 보면 사용자정의 값은 없더라구요
  • ? profile
    어떻게 하면 가능할까요..
  • ? profile
    아예 쿼리문을 따로 만들어야 하나보네요
  • profile ?
    컨텐츠위젯은 문서만 가져오니 처음부터 확장변수정렬하려면
    문서리스트 쿼리를 확장변수와 함께 가져와 보세요
  • ? profile

    https://xetown.com/lakepark/292144
    여기 참조해서 했어요 ㅠ

    http://mist.co.kr/?mid=work&document_srl=3017&listStyle=viewer

  • profile profile
    아, 해내신 겁니까... 저는 제가 이런 글을 올린 줄도 모르고;;; 기억력이 나빠서 죄송해요ㅠㅠ
  • profile profile
    아닙니다. 카톡 좀 주세요. 2ond 입니다;;
  • profile profile
    넵~
  • profile
    새로운걸 창조하시는 이온디님 짱!