토픽 목록에 특정 CSS 클래스가 없습니다.
토픽 목록 템플릿을 수정하면 가능한가요?
토픽 목록 항목 컴포넌트에 클래스만 추가하려는 경우, 템플릿을 수정하지 않고도 이를 수행할 수 있습니다. 다음과 같은 코드를 사용할 수 있습니다.
const discourseComputed = require("discourse-common/utils/decorators").default;
api.modifyClass("component:topic-list-item", {
pluginId: "add-views-class",
@discourseComputed()
unboundClassNames() {
// 사용할 수 있는 토픽 속성을 확인하기 위해 로깅합니다
console.log(this.topic);
// 코어와 플러그인에서 기본 클래스를 상속합니다
let classList = this._super(...arguments);
// 특정 속성에 기반하여 새 클래스를 추가합니다
if (this.topic.views > 100) {
classList += " has-many-views";
}
// 수정된 classList를 반환합니다
return classList;
}
});
그리고 CSS를 조금 추가합니다.
.has-many-views {
background: red;
}
불행히도 위키는 토픽 수준이 아니라 게시물 수준의 속성입니다. 따라서 토픽 목록 항목 모델에 추가되지 않습니다. 태그를 사용하거나, Discourse에 해당 클래스를 추가해 달라는 기능 요청을 생성할 수 있습니다.