gassim
(Al-Gassim Sharaf Addin)
1
您好!
我注意到员工通知中新增了一个功能,即在员工或管理员添加的员工通知后面会自动加上“添加者:[员工姓名]”。
但是,在我们的使用场景中,有些员工通知不需要也不希望包含这个强制性的“添加者”信息:
- 当某位员工有一段时间没有发帖时,会出现一个自动生成的员工通知:“某某已有一段时间未发帖…”等,或者如果是他们的第一篇帖子,“某某发布了第一篇帖子,欢迎加入社区”,我会将其更改为该员工的职位和角色。例如,我会删除自动生成的员工通知,并将其修改为“某某是分析团队的产品经理”。在这种情况下,我不希望显示“某某是分析团队的产品经理(添加者:@gassim)”

- 当帖子是带有资源、幻灯片或录音的后续帖子时,我或另一位员工会回复链接到这些资源,并在链接上方添加一个员工通知,例如“
录音”,我不希望显示“
录音(添加者:@gassim)”。
在上述使用场景中,包含姓名信息并不相关。如果我们确实需要确定谁添加了员工通知,我们可以使用数据浏览器(Data Explorer)或通过管理员 > 日志 > 员工操作 - 操作:“添加员工备注”来查找。
如果我们希望添加“(添加者)”信息,我们可以在需要时手动添加。
请问有办法禁用这个新功能吗?
谢谢!
1 个赞
对此没有设置解决方案。不过,你可以通过一些 JavaScript 来实现:
在你的主题或新的主题组件中,在“JS”选项卡中添加以下内容:
import { apiInitializer } from "discourse/lib/api";
import { schedule } from "@ember/runloop";
export default apiInitializer((api) => {
const current = api.getCurrentUser();
if (!current || !current.staff) {
return;
}
// 移除包含 staff notice 的第一段之后的所有内容
api.decorateCookedElement((element, helper) => {
const post = helper?.getModel();
if (!post || !post.notice) {
return;
}
schedule("afterRender", () => {
const postNoticeMessage = document.querySelector(
`article[data-post-id="${post.id}"] .post-notice-message`
);
if (postNoticeMessage) {
postNoticeMessage.replaceWith(postNoticeMessage.firstChild);
}
});
});
});
这应该足够了。
2 个赞
Bas
(Bas van Leeuwen)
3
我会注意到这些“由谁添加”信息只会显示给工作人员,因此普通用户将不会看到它们。
5 个赞
system
(system)
关闭
5
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.