Q&A

태그 위젯, 최신 등록 순으로 출력하기

2020.05.08 15:20
729
0
CMS/프레임워크 Rhymix 1.9
개발 언어 PHP 7.4

태그리스트위젯 깃헙

https://github.com/eondcom/rxe-widget-tag_list

 

등록한코드

<img class="zbxe_widget_output" widget="tag_list" skin="default_dev" colorset="layout" title="요즘 태그" period="180" list_count="15" widget_cache="0" />

 

위젯 등록 설정

등록된 기간 180일에서 리스트카운트 15로 설정했습니다.

 

질문.

그런데.. 최근 15가 아닌거 같아요. 

리스트카운트 15가 설정되어있을 때, 여기서 15어떻게 하면 '가장 최근' 15개가 뜨도록 할 수 있을까요?


 

 

eond Lv. 13
# 라이믹스 스킨 제작은 어디? >>>> XE 레이아웃, 라이믹스 스킨제작은 이온디에서 커스터마이징해드립니다.
# 빠른 라이믹스 커뮤니티용 호스팅을 찾고 계신가요? >>>> 이온디호스팅 서비스는 PHP8 & Redis 서버 캐시를 활용하여 라이믹스에 최적화된 호스팅 서비스를 제공해드립니다. (서버세팅시 웹패널, 내도메인메일서비스도 함께 구축해드립니다.)
https://eond.com

댓글 6

  • 2020.05.08 15:52 #1395859

    regdate 같은 정렬대상과 DESC 같은 정렬방법을 추가하면 될 것 같습니다.

  • 2020.05.08 16:22 #1395888

    xml이 아니라.. 
    tag_list.class.php 에서 해야겠죠?

    컨텐츠 위젯을 참조해보니깐..

    $args->order_target='regedit';
    을 추가해넣고..

    function에서..

    $obj->sort_index=$order_target;

    ....

     

    $args->order_target='regedit';

    이것만 추가해놓고... 

    그 다음에 모르겠더군요..(__);;

  • 2020.05.08 16:55 #1395922

    아, 이게 180일 이전에 입력된 태그들 중에서 빈도수가 높은 것 순으로 뽑아오는 구조네요.
    즉, regdate로 정렬되는 게 아닙니다ㅜ
    게다가 날짜 계산식도 엄청 하드코딩이네요ㄷㄷ
    date("YmdHis", strtotime("-180 day")) 같은 걸로 하면 간단하게 180일 이전 날짜를 구해오는 걸로 알고 있는데 말이죠ㅠㅠ

    쿼리 xml 파일도 이걸로는 안 될 것 같습니다.
    index가 기본 count로 잡혀 있고, 가져오는 컬럼은 tag랑 count 뿐이어서요.
    현재 쿼리로는 regdate로 정렬이 불가능해요.

    1. xml 파일 columns 쪽에 <column name="regdate" /> 같은 것을 추가해줘야 할 것 같구요.
    2. xml 파일 navigation 쪽에서는 <index var="order_target" default="count" order="desc" /> 정도로 바꿔주고,
    3. php 파일에서 $args 넣어줄 때, $args->order_target = 'regdate' 같은 걸로 해야 할 것 같아요.

    직접 해본 것은 아니어서 몇몇 부분에서 오류가 있을 순 있지만, 어쨌든 대강 이런 프로세스로 가야 최근에 생성된 태그를 순서로 해서 리스트가 가능할 것 같습니다.

  • 2020.05.08 20:34 #1395954
    https://eond.com/432920
    감사합니다. ㅠㅠ
  • 2020.05.09 00:25 #1395988

    이제 곧 이온디 태그 위젯 나오는 겁니까?

    아, 깃허브에 공유되어 있군요!

    공유는 사랑입니다~

    FzI-Cyc-_400x400.jpg

  • 2020.05.09 03:02 #1396064
    근데 제가 원하는 건 있는데 그래도 잘 모르겠네요 흐흐 ㅜ