Q&A

게시판 검색 후 정렬 기능이 동작하지 않습니다.

2022.07.13 04:46
1,674
0
CMS/프레임워크 Rhymix 2.0
개발 언어 PHP 7.4
문제 페이지 주소 비공개 (작성 후 5일 경과)

전에도 한번 질문드렸었는데,

기본적으로 게시판 정렬을 작성일을 기준으로 설정을해둔 상태이며

이때 검색을 하게되면 작성일 기준이 아닌 문서번호 기준도 아닌 상태로 정렬이 되더라구요.

 

게시판 스킨이 문제인가 싶어 스킨도 바꿔보고,

?sort_index=regdate&order_type=asc 으로 직접 입력해도 안되더군요.

현재 xe타운도 동일한 현상이 나타나고 있는 것까지 확인하였습니다.

 

아래 두링크로 검색 후 정렬값을 변경해도 동일하게 결과값이 나타나는것을 확인하실 수 있습니다.

 

https://xetown.com/notice/search/title_content/%EC%BB%A4%EB%AE%A4%EB%8B%88%ED%8B%B0?sort_index=regdate&order_type=asc

https://xetown.com/notice/search/title_content/%EC%BB%A4%EB%AE%A4%EB%8B%88%ED%8B%B0?sort_index=regdate&order_type=desc

 

다 포기하고 있다가 db를 확인해보니 

list_order가 "-문서번호" 형식으로 저장이 되어있더라구요.

이 값을 변경하니 검색 후 글의 순서가 바뀌더군요.

 

혹시 검색 후 정렬은 list_order 값으로만 고정되어 있는 걸까요?

게시판에서 설정한 정렬 값으로 순서를 변경할 순 없는걸까요??

 

 

 

oxythus Lv. 5

댓글 16

  • 2022.07.13 05:10 #1696999
    https://github.com/rhymix/rhymix/blob/master/modules/board/board.view.php#L534
    이줄 다음줄에

    debugPrint($args->sort_index);

    이렇게 넣었을때 값이 어떻게 나오던가요?
  • 2022.07.13 05:59 #1697004

    regdate <-- 로 나옵니다.

     

    검색을 하지 않은 상태에서는 문제없이 정렬되는데,

    검색 한 후에 정렬기능이 동작하지 않는것같아요.

  • 2022.07.13 08:25 #1697043
    타임라인 슈퍼캐시와 같은 모듈 사용중인가요?
  • 2022.07.13 11:40 #1697072
    네 타임라인도 슈퍼캐쉬도 사용중입니다.
  • 2022.07.13 12:02 #1697078
    해당 모듈들을 사용하지 않는 환경에서는 어떤지 확인 부탁드립니다.
  • 2022.07.13 12:27 #1697085

    두 모듈을 사용안하고 해도 동일합니다.

    모든 환경에서 발생되는 문제가 아닌가보군요.

    xe타운에서도 발생하는 문제인듯하여 라이믹스 사용자분들에게 모두 나타나는 현상인줄 알았네요.

  • 2022.07.13 12:30 #1697090
    라이믹스 코어적으로 우선 나중에 확인 따로 해보고 버그가 맞으면 이슈등록 하겠습니다.
  • 2022.07.13 12:51 #1697094
    네 감사합니다. 편안한밤 되세요.
  • 2022.07.13 06:19 #1697009
    질문과는 별 관련 없는 내용이지만, list_order는 마이너스 문서번호가 아닙니다.

    예를 들어 글을 작성하다가 파일을 첨부하면, 파일과 글을 연결하기 위해 글번호가 임시로 할당됩니다. 이걸 1번이라고 해보지요. 내 글을 저장하기 전에 다른 사람이 다른 글을 작성한다면 다른 사람의 글이 2번이 됩니다. 내 글은 여전히 1번입니다. 그러나 내 글을 최종적으로 저장하면 list_order는 -3번이 되고, 결과적으로 나중에 저장한 내 글이 먼저 저장한 다른 사람의 글보다 위에 정렬되어 우리가 흔히 생각하는 작성일 역순 정렬이 이루어집니다.

    XE 시절에는 위의 로직에 버그가 있어서 정렬이 안 맞는 경우가 종종 있었기 때문에 regdate DESC로 정렬하는 차선책을 택하는 사이트가 많았지만, 라이믹스에서는 list_order ASC 정렬과 regdate DESC 정렬이 정확하게 일치하므로 굳이 인덱스를 역방향으로 스캔하는 regdate DESC를 사용할 필요가 없습니다.
  • 2022.07.13 06:22 #1697013

    그렇군요. 제가 db 에서 확인한 게시글들의  list_order에 입력된 값이 문서번호에 마이너스붙인 값이 들어가 있더군요.
    그래서 문서번호를 활용한 거라고 생각했습니다.

  • 2022.07.13 06:41 #1697018
    네, 파일을 첨부하거나 글 쓰는 데 시간을 많이 쓰지 않으면 대체로 마이너스 글번호가 들어가긴 합니다.
  • 2023.03.15 20:02 #1751729
    해결되었나요?
  • 2023.04.25 04:02 #1758799
    시분초단위까지 입력하니 전 제대로 검색도더군요
  • 2023.04.25 02:49 #1758779

    해결이 어려운가보군요?

  • 2023.04.25 04:04 #1758813
    시분초 까지 입력해보세요. 그럼 제대로 나오는듯 합니다
  • 2023.04.25 06:31 #1758838

    답변 감사합니다.

    rx_documents 의 regdate 값을 "년월일시분초" 14자리로 바꾸어서 테스트해보았는데

    저는 설정에서 제목 오름차순으로 해놓으나 검색 결과가 등록일순으로 정렬되는 것 같습니다.