Extra Form
PHP PHP 7.2
CMS XpressEngine

 게시글에 있는 전체 태그 가운데 많은 태그 순으로 정렬하고, 

 태그를 클릭하면, 해당 태그를 입력한 모든 게시글을 불러 오려 합니다. 

 

 게시글 작성시 하단에 입력하는 태그 공간을 말합니다. 

 태그를 입력시, " XE, 라이믹스, 게시글 " 이런식으로 입력된 것 가운데 

 

 가장 많이 입력된 태그를 맨앞에

 가장 적은 태그 횟수의 경우 맨 뒤에 입력하려 합니다. 

 

 어떻게 쿼리를 돌려야 할까요? 혹시 참고할 만한 모듈이나 에드온 같은게 있을까요? 

 

  • profile
    https://xe1.xpressengine.com/manual/XE-Dev_Manual-ko(v1.1).pdf

    개발자 문서를 보시면 아시겠지만 많이 사용된 카운터나 이런 부분을 디비에서 알 수 있는 방법이 없습니다.

    더군다나 태그의 사용횟수라던지 이런 기록되는 디비칼럼도 없고요

    따라서 이 부분을 만들고 싶으시면 게시판에 영향이 안가도록 모듈을 제작하시거나 코어를 수정하시는 방법을 사용하셔야 하는데 코어 수정에는 추후 유지보수가 어려워진다는 문제점이 존재하고요 모듈을 따로 제작하신다면 기존 태그 데이터도 함께 옮겨주는 작업도 필요하니 단가가 높아질 수 있다는 것이 문제겠네요.

    그 외 자세한 코드나 방법을 설명드리는건 의뢰항목으로 가야 기능을 제작할 수 있을만큼 작업이 방대하므로 답변이 어렵습니다.
  • ?
    xe_documents 의 tag 칼럼은 넣었던 태그가 그냥 쭉 등록되어있는데
    이 항목들이 xe_tags 라는 테이블에 각 태그별로 전부 나눠서 등록되어있습니다.

    게시글 태그 들을 xe_tags 테이블에서 하나씩 몇번 사용되었는지 count 하는 쿼리를 짠 후
    그 순서로 나열을 다시 하셔야겠죠
  • ? profile
    이렇게 제작한다 하더라도 엉청 느려질수 있겟네요..
    안그래도 DocumentList 에서도 count 쿼리때문에 엉청느리던데요 ㅠㅠ..
  • profile ?
    DocumentList 등을 건들 필요 없이

    그냥 스킨에서 태그 출력하는 부분에서 기존 소스 대신
    xe_tags 부분에서 document_srl 기준으로 검색하면서 count 로 해서 정렬하 출력하면 되죠
  • ? profile
    제 말은 documentList 해당 부분에서도 엉청 느린데 태그기능까지 함께 추가하게 된다면 좀 더 느려질 수 있다고 말씀드린거예요.