Top Contributors 목록이 채워지려면 사용자 디렉터리가 활성화되어 있어야 합니다. 목록이 비어 있다면 관리자 설정에서 enable user directory를 검색하여 활성화되어 있는지 확인하세요.
* Calendar 플러그인과 함께 사용할 때만 사용할 수 있습니다.
** Gamification 플러그인과 함께 사용할 때만 사용할 수 있습니다.
사이드바 블록으로 다른 Ember 컴포넌트도 사용할 수 있으며, 올바른 이름만 사용하면 됩니다. 예를 들어, 코어에는 signup-cta Ember 컴포넌트가 포함되어 있으며, 이를 사이드바에서 그대로 사용할 수 있습니다. 매개변수 집합을 기대하는 컴포넌트는 사용할 수 없지만, 별도의 테마에서 자체 Ember 컴포넌트를 구축하고 사이드바의 blocks 설정에서 이름만 참조하여 사용할 수 있습니다.
고급 사용자 전용: 사이드바를 선택된 루트로 제한합니다. 예: discovery.latest, discovery.unread, discovery.new, discovery.top, tag.show, “c/category-slug” (카테고리의 경우), “tag/sample-tag” (태그의 경우). 비어 있으면 사이드바가 모든 목록 루트에 표시됩니다.
blocks: 표시할 블록을 선택하고 순서를 조정합니다
show_in_routes: 사이드바를 표시할 주제 목록 루트를 결정합니다. 기본적으로 /categories를 제외한 모든 탐색(discovery) 루트에 표시됩니다.
컴포넌트는 매우 기본적인 스타일링만 포함된다는 점에 유의하세요. 컴포넌트를 사용하는 관리자가 자신의 테마에서 자체 스타일링을 추가할 것으로 가정합니다.
상호작용
Discourse Calendar 플러그인과 함께 사용할 경우, 다가오는 이벤트를 위한 사이드바 블록을 추가할 수 있습니다. 블록 이름은 upcoming-events-list이며, 날짜 형식은 이 구문을 따르도록 사용자 지정할 수 있습니다(예: MMMM D, YYYY). 미래까지 얼마나 멀리 볼지 및 하위 카테고리 이벤트가 포함되는지 여부도 설정할 수 있습니다(위 표 참조)
이것이 #공식 테마 컴포넌트로 추가되어 정말 기쁩니다. 확실히 커스터마이징의 새로운 지평을 열었습니다.
질문이 두 가지 있습니다:
사이드바에서 category-topics가 표시하는 방식과 유사하게 /latest 주제 목록을 표시하고 싶습니다. 이것이 가능한가요? recent-replies가 거의 그 역할을 할 수 있지만(특히 발췌문을 숨길 경우), 답글이 없는 주제까지 포함하는 것이 정말로 필요합니다.
특정 카테고리에서만 사이드 블록을 표시할 수 있나요? 제가 의미하는 것은, 표시되는 유일한 라우트가 카테고리 주제 목록이고, 제가 지정하는 카테고리에서만 그렇게 하겠다는 것입니다.
해당 컴포넌트의 한계를 하나 발견했습니다. 특히 category-topics와 subcategory-list 블록의 경우, **서로 다른 id**를 가진 해당 유형의 여러 블록을 추가하면 항상 런치 에디터에서 가장 위에 있는 블록의 주제/하위 카테고리만 표시되는 문제가 발생합니다(제 생각에는).
현재 겪고 있는 버그는 subcategory-list 블록을 약 10~12회 정도 조작한 후, 스테이징 사이트에서 해당 블록이 아예 표시되지 않게 되는 것입니다(아래 영상 참조).
현재는 해당 옵션이 없습니다. 추가하는 것이 합리적일 것 같지만, 여러 ID를 지원하여 카테고리 목록(예: A, B, C)에 대해 블록을 표시할 수 있도록 해야 할 것 같습니다. 개발자 분들이 이 기능을 추가할 수 있다고 생각하신다면 레포지토리에 PR을 검토해 드리겠습니다. (그렇지 않다면 테마 컴포넌트의 nice-to-have 목록에 추가하겠습니다.)
a) 결과를 가져와서 일주일 동안 캐싱하는 것, b) 모든 로드 시 지난 일주일의 상위 기여자를 가져오는 것 중 어떤 것을 의미하시나요? 후자는 추가하기 쉽지만, 캐싱은 조금 더 까다롭습니다.
안녕하세요! 이 컴포넌트가 오류를 일으키는 것인지는 확실하지 않습니다. 하지만 비활성화하면 더 이상 오류가 발생하지 않습니다. 이 문제를 해결하는 데 도움을 줄 수 있도록 확인해 주실 수 있을까요? 정말 감사하겠습니다.
활성화된 상태에서 데스크톱에서 특정 주제를 방문하고, 홈페이지로 돌아가기 위해 상단 바의 사이트 로고를 클릭하면 사라지지 않는 로딩 화면이 표시되고 브라우저 콘솔에 오류가 발생했습니다(아래 참조). mysite/logs 경로에서는 관련 오류 로그를 찾을 수 없었습니다.
d6ca234baf8d2d5e65f414f31e198fe956d9a939.js?__ws=www.bfsu.cafe:98 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'findFiltered')
at new CategoryTopics (d6ca234baf8d2d5e65f414f31e198fe956d9a939.js?__ws=www.bfsu.cafe:98:18)
at h.createComponent (base-component-manager.js:37:1)
at h.createComponent (ember-component-manager.js:54:1)
at C.create (manager.js:558:1)
at Object.evaluate (runtime.js:3301:1)
at Object.evaluate (runtime.js:1312:1)
at Dt.evaluateSyscall (runtime.js:5232:1)
at Dt.evaluateInner (runtime.js:5188:1)
at Dt.evaluateOuter (runtime.js:5180:1)
at Wt.next (runtime.js:6191:1)
at Wt._execute (runtime.js:6175:1)
at Wt.execute (runtime.js:6166:1)
at qt.handleException (runtime.js:5369:1)
at Kt.handleException (runtime.js:5605:1)
at Lt.throw (runtime.js:5302:1)
at Be.evaluate (runtime.js:2580:1)
at Lt._execute (runtime.js:5285:1)
at Lt.execute (runtime.js:5266:1)
at Ht.rerender (runtime.js:5634:1)
at Er.render (index.js:7578:1)
at index.js:7896:1
at It (runtime.js:5074:1)
at Rr._renderRoots (index.js:7876:1)
at Rr._renderRootsTransaction (index.js:7928:1)
at Rr._revalidate (index.js:7970:1)
at invoke (backburner.js:351:1)
at p.flush (backburner.js:241:1)
at h.flush (backburner.js:447:1)
at q._end (backburner.js:999:1)
at _boundAutorunEnd (backburner.js:648:1)
CategoryTopics @ d6ca234baf8d2d5e65f414f31e198fe956d9a939.js?__ws=www.bfsu.cafe:98
createComponent @ base-component-manager.js:37
createComponent @ ember-component-manager.js:54
create @ manager.js:558
(匿名) @ runtime.js:3301
evaluate @ runtime.js:1312
evaluateSyscall @ runtime.js:5232
evaluateInner @ runtime.js:5188
evaluateOuter @ runtime.js:5180
next @ runtime.js:6191
_execute @ runtime.js:6175
execute @ runtime.js:6166
handleException @ runtime.js:5369
handleException @ runtime.js:5605
throw @ runtime.js:5302
evaluate @ runtime.js:2580
_execute @ runtime.js:5285
execute @ runtime.js:5266
rerender @ runtime.js:5634
render @ index.js:7578
(匿名) @ index.js:7896
It @ runtime.js:5074
_renderRoots @ index.js:7876
_renderRootsTransaction @ index.js:7928
_revalidate @ index.js:7970
invoke @ backburner.js:351
flush @ backburner.js:241
flush @ backburner.js:447
_end @ backburner.js:999
_boundAutorunEnd @ backburner.js:648
Promise.then(异步)
n @ backburner.js:28
flush @ index.js:46
_scheduleAutorun @ backburner.js:1218
_end @ backburner.js:1009
_boundAutorunEnd @ backburner.js:648
Promise.then(异步)
n @ backburner.js:28
flush @ index.js:46
_scheduleAutorun @ backburner.js:1218
_end @ backburner.js:1009
_boundAutorunEnd @ backburner.js:648
Promise.then(异步)
n @ backburner.js:28
flush @ index.js:46
_scheduleAutorun @ backburner.js:1218
_end @ backburner.js:1009
_boundAutorunEnd @ backburner.js:648
Promise.then(异步)
n @ backburner.js:28
flush @ index.js:46
_scheduleAutorun @ backburner.js:1218
_ensureInstance @ backburner.js:1206
scheduleOnce @ backburner.js:845
k @ index.js:522
queueRerender @ mount-widget.js:124
scheduleRerender @ widget.js:319
rerenderResult @ widget.js:365
F @ hooks.js:207
(匿名) @ hooks.js:247
dispatch @ jquery.js:5430
_.handle @ jquery.js:5234
frame:251 You dismissed the flag, but third party cookies are disabled on your browser so the flag will come back the next time you visit the page.
위 오류 로그 첫 줄에 언급된 js 파일에서 이 컴포넌트에 대한 정보를 확인할 수 있습니다.