모든 카테고리에서 "다음 이벤트" 표시

안녕하세요, 여러분! 해결하지 못하는 문제가 하나 있습니다. 제 포럼(laguaridaretro.com)에서는 “Right Sidebar Blocks” 컴포넌트를 사용하여 포럼 오른쪽 사이드바를 커스터마이징할 수 있습니다. 아래 캡처 화면에서 보실 수 있듯이, 오른쪽 사이드바에 다가오는 이벤트를 표시해 두었습니다. 해당 이벤트는 포럼 메인 페이지와 ‘이벤트’ 카테고리에서는 정상적으로 표시되지만, 포럼의 다른 카테고리로 들어가면 마치 게시된 이벤트가 없는 것처럼 빈 공간으로만 보입니다.

모든 이벤트가 특정 두 카테고리가 아니라 모든 카테고리에서 표시되기를 원합니다. 이것이 가능한가요?

캘린더는 표시되는데 이벤트 목록이 없거나, 전체가 사라진 건가요?

관리자 인터페이스에서 캘린더가 표시될 페이지를 다음과 같이 설정했을 것으로 추측됩니다:

기본적으로 이벤트 목록은 현재 카테고리의 이벤트만 반환합니다. 이를 변경하려면 discourse-calendar-upcoming-events-show-cross-category라는 값 변환기(value transformer)를 사용할 수 있습니다.

새로운 테마 구성 요소를 생성합니다(조기에 로드되는 것이 더 좋다고 생각하므로 "aaa all events in each category"와 같은 이름을 사용하는 것을 권장합니다).

JS 탭에 다음 내용을 추가합니다:

api.registerValueTransformer(
   "discourse-calendar-upcoming-events-show-cross-category",
   () => true
 );

그러면 다음과 같이 보입니다:

이제 코드를 저장하고 새로고침하면 각 카테고리에서 모든 이벤트를 볼 수 있어야 합니다.

테스트 화면 캡처:
모든 3개의 이벤트가 포함된 문서(Documentation) 카테고리


그리고 동일한 이벤트가 Test 3 카테고리에서도 보이는 모습

이거였군요! 진심으로 정말 감사합니다. 이제 모든 카테고리에서 이벤트를 볼 수 있습니다 :smiley:

기존의 Upcoming Events 블록에 해당 항목을 기능/파라미터로 추가하는 것은 어떨까요?

이것이 전역적인 영향을 미칠 수 있기 때문에 혼란을 줄 수 있다고 생각했습니다. 우측 사이드바 블록의 이벤트 목록 매개변수를 변경하면 테마 컴포넌트 외부의 이벤트 목록에도 영향을 미친다는 사실을 모든 사용자가 즉시 이해하지 못할 수 있습니다. 그래서 이를 분리해 두는 것이 좋겠습니다.

흥미롭네요! 저도 그렇게 될 줄 몰랐습니다. 참고로, 캘린더에서도 메시지 내의 이벤트가 표시됩니다. 제게는 이 점이 큰 장점이며, 기본 동작보다 이 방식을 선호합니다.

또한, 이벤트 카테고리에서 캘린더를 이미 숨겨두고 있습니다. 꽤 지저분하고 보기 싫어서요. 이 경우 우측 사이드바 블록이 활성화되어 있으면 훨씬 낫습니다.