你好,
我正在尝试为“话题-回复”中的用户添加一个新类,用于标识用户回复自己的情况。实际上,我希望在话题中以不同的样式显示用户自发的消息。
当模板设计得像即时通讯应用时,这个功能非常实用。
请问这个功能是否已经在某处定义过了?
你好,
我正在尝试为“话题-回复”中的用户添加一个新类,用于标识用户回复自己的情况。实际上,我希望在话题中以不同的样式显示用户自发的消息。
当模板设计得像即时通讯应用时,这个功能非常实用。
请问这个功能是否已经在某处定义过了?
这已经可以通过 .topic-owner CSS 类实现。您可以使用以下 CSS 来高亮显示自己的回复
.topic-owner .topic-body {
background: #fffaaa;
}
但是 topic-owner 类仅被分配给话题创建者的回复。我需要另一个类(例如命名为 my-own),以便在登录用户撰写其他回复时将其添加进去。
就像即时通讯应用一样,将我的回复显示在右侧,其他人的回复显示在左侧的气泡中。
您可以通过将以下代码添加到主题的头部(或主题组件的头部)来实现:
<script type="text/discourse-plugin" version="0.8">
const currentUser = api.getCurrentUser();
api.addPostClassesCallback((attrs) => {
if (currentUser && currentUser.id === attrs.user_id) {
return ["post-by-current-user"];
} else {
return [];
}
});
</script>
之后,您可以在样式表中使用该 post-by-current-user 类。
哇,我原以为这样做需要很多改动。
Discourse 真的很令人兴奋……
非常感谢!