主题列表中没有特定的 CSS 类。
是否可以通过编辑主题列表模板来实现?
3 个赞
如果只想为话题列表项组件添加一个类,无需修改模板即可实现。您可以使用类似下面的方法。
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;
}
不幸的是,wiki 是帖子级别的属性,而不是话题级别的属性。因此,它不会被添加到话题列表项模型中。您可以使用标签,或者为 Discourse 创建一个功能请求以添加该类。
6 个赞
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.