안녕하세요?

 

게시판에서 확장변수를 이용하여 마감일 및 D-Day을 노출하는 게시판이 있습니다.

게시물 양이 많아지니 마감일이 지나지 않은 게시물만 버튼을 클릭하여 노출하고 싶은데요.

예전에 비슷한 게시물을 봤었던 것 같은데 다시 찾아려고 하니 찾을 수가 없네요.

 

혹시 확장변수(마감일)이 지나지 않은 게시물만 검색하는 방법이 있다면

아시는 분이 있다면 큰 도움이 되겠습니다.

 

 

  • profile

    평상시의 게시판에서 버튼 클릭을 하면 마감일이 지나지 않은 게시물 리스트만 목록으로 출력하고 싶으시다는 거죠? (음슴체 주의)

    1. 스킨단에서 처리하는 방법1
    - js단에서 버튼 클릭을 하면 현재 목록에서 마감일이 지난 아이템들을 필터링할 수 있음
    - 단점 : 페이지당 목록수가 일정하지 않게 됨

    2. 스킨단에서 처리하는 방법2
    - 템플릿에서 문서목록을 출력하기 전에 따로 쿼리를 실행시켜서 지정된 숫자(오늘 날짜)보다 낮은 확장변수값을 가진 문서들만 따로 목록을 만들고 템플릿의 문서 목록에 덮어씀
    - 단점 : 문서 목록을 두 번이나 만들어야 하기 때문에 비효율적
    - 단점 : 스킨단에서 커스텀 쿼리를 실행하고, 문서목록을 뽑은 뒤 거기에 문서별 세부 변수값을 할당해줘야 하는 등 의외로 신경 쓸 게 많음

    3. 별도의 애드온을 제작하는 방법
    - '마감일 안 지난 게시물만 출력하는 게시판' 애드온 같은 자료를 만들고, 여기서 별도의 쿼리를 실행시켜서 문서 목록을 만든 뒤, getDocumentList 함수에서 제공하는 before 트리거 핸들러를 이용해 목록을 가로챔
    - 단점 : 아무래도 애드온이니 범용성이 떨어질 수 있음
    - 참고 : 확장변수 다중검색 애드온 데모 페이지에서 '대관일' 검색 https://dev.aporia.blog/?mid=board_fKje43&extra_vars9=20200101&extra_vars9-2=20221231 (코드 진행 방식이 다르긴 하지만 이 url에 들어간 파라미터를 보면 날짜 구간별로 목록 출력이 실제 구현 가능함을 알 수 있습니다.)

    - 참고 : 데모 페이지에서는 커스텀 쿼리를 실행했는데 아래와 같습니다. 커스텀 쿼리 사용 방법은 https://github.com/rhymix/rhymix/pull/1332 참조

    SELECT documents.document_srl,documents.module_srl,documents.category_srl,documents.lang_code,documents.is_notice,documents.title,documents.title_bold,documents.title_color,documents.member_srl,documents.nick_name,documents.tags,documents.extra_vars,documents.comment_count,documents.trackback_count,documents.uploaded_count,documents.status,documents.regdate,documents.last_update,documents.comment_status FROM `rx_documents` AS `documents` WHERE documents.module_srl = ? AND documents.is_notice = ? AND (documents.document_srl IN (SELECT document_srl FROM `rx_document_extra_vars` AS `document_extra_vars` WHERE (var_idx = ? AND value >= ? AND value <= ?))) AND documents.status IN (?,?) ORDER BY documents.list_order ASC LIMIT ?, ?

     

    4. 별도의 모듈을 제작하는 방법
    - 방식은 위와 동일. 그러나 제작 방식에 따라 특정 확장변수뿐 아니라, 확장변수별로 그리고 게시판 모듈별로도 다양하게 문서 목록을 만들 수 있음
    - 단점 : 개발에 소모되는 시간이나 비용이 커짐

  • profile
    윤삼님 안녕하세요?
    장문의 방안을 알려주셔서 감사합니다.
    어느 것 하나 쉬운게 없네요. ㅋ
    오늘 하루도 즐건 하루되세요~