如果这里不是提问的合适地方,我深表歉意,但看起来似乎可以。
我想使用一个布尔值(我猜是布尔类型)来比较当前用户与“标记审核”中的两个对象:标记者和标记目标。
如果当前用户等于其中任意一个,则隐藏“标记审核”按钮(例如“同意”/“拒绝”/“延期”等)。这样,只有第三方才能验证或驳回标记。
如果这里不是提问的合适地方,我深表歉意,但看起来似乎可以。
我想使用一个布尔值(我猜是布尔类型)来比较当前用户与“标记审核”中的两个对象:标记者和标记目标。
如果当前用户等于其中任意一个,则隐藏“标记审核”按钮(例如“同意”/“拒绝”/“延期”等)。这样,只有第三方才能验证或驳回标记。
我不认为你为此一定需要一个主题设置,除非你想在组件中添加一个设置,让管理员可以开启或关闭强制由第三方处理标志。
一般来说,如果你想修改默认权限(正如你描述的),就需要一个插件,因为主题或组件只能进行前端修改,如果用户知道在哪里查找,这些修改是可以被绕过的。
只是想隐藏一些选项。当然,懂技术的用户可以用浏览器工具来显示这些按钮。
但这对于我的目的来说已经足够:如果当前用户是举报者或被举报对象,就简单地对他们隐藏这些内容。这更像是一种防止诱惑的权宜之计(创可贴),而非一劳永逸的解决方案。
快速浏览核心中的相关代码后,您将需要在 reviewable-item 中扩展 canPerform 属性(该属性用于确定是否应显示“同意/不同意”等按钮),并添加您的额外逻辑:
如果您从未做过类似的事情,那么 Developing Discourse Themes & Theme Components 将是一个绝佳的入门资源!它涵盖了如何修改核心类,这正是您所需要做的。现有的主题和组件也是很好的学习资源,例如 discourse-extra-group-classes 组件就使用了您所需的技术(特别是 initialize-extra-group-classes.js.es6 文件)。
附注:我将把这些帖子移出该主题,因为它们与主题设置没有直接关系。
谢谢,我会仔细查看并学习。