혹시 이 관련해서 가이드나 예제가 어디에 있는지 아시는 분 계신가요?
예를 들어, 테마 컴포넌트를 사용해 사이드 컬럼을 만들 때, 그 사이드 컬럼/테마 컴포넌트에 공개된 최신 20개 주제(또는 쿼리에 나열한 카테고리에서 가져오는 것이 더 쉽다면)를 어떻게 나열할 수 있을까요?
혹시 이 관련해서 가이드나 예제가 어디에 있는지 아시는 분 계신가요?
예를 들어, 테마 컴포넌트를 사용해 사이드 컬럼을 만들 때, 그 사이드 컬럼/테마 컴포넌트에 공개된 최신 20개 주제(또는 쿼리에 나열한 카테고리에서 가져오는 것이 더 쉽다면)를 어떻게 나열할 수 있을까요?
이것을 수행하는 방법은 여러 가지가 있습니다. 가장 간단한 방법은, 표시하려는 데이터를 제공하는 Rails API의 엔드포인트에 AJAX 호출을 사용하는 것입니다. 최신 20개 주제를 원한다면 /latest.json을 시도해 볼 수 있습니다.
여러 엔드포인트의 정보를 결합해야 하는 경우가 도전 과제입니다. 이 경우 여러 호출이 완료될 때까지 기다려야 하며, 이는 테마 컴포넌트에서 성능을 크게 저하시킬 수 있습니다.
답변해 주셔서 감사합니다, Justin ![]()
Discourse가 이미 제공하는 피드/데이터를 단순히 재사용하는 쉬운 방법이 있을까요? (사용자의 설정도 존중되도록 하는 것이죠).
예를 들어 사이드바에 다음과 같은 항목을 넣을 수 있습니다:
다른 포럼 플랫폼에서는 이런 걸 꽤 쉽게 할 수 있어서, Discourse에서 이 기능이 없어서 정말 아쉬워요 ![]()
맞아요. 관련 엔드포인트를 Ajax로 호출하면 사용자의 현재 설정이 존중됩니다.
/latest.json을 호출하면 해당 사용자가 볼 수 있는 최신 주제만 표시됩니다.
같은 경로에 .json을 붙여서 GET 요청을 보내고 어떤 결과가 나오는지 확인해 보세요!
그것은 결국 해당 엔드포인트들이 실행하는 쿼리를 그대로 DB에 보내는 것과 비슷하다고 보시면 될까요? (아니면 각 엔드포인트마다 페이지 5개를 추가로 로드해야 하는 것과 같아서 자원을 훨씬 더 많이 소모하게 될까요?)
어쨌든 이 부분에 대해 직접 실험해 보고 싶습니다. 엔드포인트에서 데이터를 가져와 테마 컴포넌트에 적용하는 방법을 보여주는 가이드나 튜토리얼이 있을까요? (아니면 플러그인을 만드는 것이 더 좋거나 효율적일까요?)
테마 컴포넌트와 ‘더미’ 플러그인을 만드는 방법은 알고 있지만, DB에서 데이터를 가져와 그 안에 적용하는 방법을 보여주는 가이드를 찾지 못했습니다.
https://meta.discourse.org/t/how-to-add-a-featured-topic-list-to-your-discourse-homepage/132949
이 가이드는 특정 태그를 사용하여 이를 수행하는 방법을 보여줍니다. 하지만 실제로는 어떤 엔드포인트를 사용하든 동일한 접근 방식을 재현할 수 있습니다.