如何创建只有管理员才能使用的主题?
我不确定我明白你的意思。你能详细说明一下吗?
我的论坛上发生了很多问题,我已经在元(meta)上对此进行了评论,由于 Discourse 没有禁用版主危险功能的选项,我通过 CSS 做了一个临时解决方案,移除了他们可以访问的、对我论坛来说很危险的选项。当我通过 CSS 操作时,这些选项也被我移除了,比如查看 IP、封禁、删除所有帖子等……我将它们从所有主题中移除了。我希望只保留一个没有 CSS 的主题,这样我就可以看到这些选项,但只有我能使用这个主题。
我不知道你为什么使用 CSS 和主题来管理你的版主,但这并不是正确的方法。使用信任级别来设置版块版主,并更仔细地选择你的版主。你试图通过 CSS 和主题来限制版主的功能,这很可能会给你自己带来更多麻烦。
我通过修改我的版主角色(CSS)解决了所有问题。这是一个非常复杂的情况,唯一的真正解决方案是这个。我已经尝试过分类审核,但对我的论坛来说并不可行,也无法满足需求。唯一解决我问题的办法是通过 CSS 进行修改。由于 Discourse 为管理员提供了相同的版主选项,因此这是唯一的解决方案。但现在我只需要一种方法来使用不带 CSS 修改的主题。这样我就不必每次使用它时都将其关闭。
我来告诉你发生了什么事:我住在巴西,这里有 2.143 亿居民,大多数人都失业且没有购买力。很多人把互联网当作娱乐方式,所以我的论坛也符合这一点。但是我的论坛的存在严重威胁到另一个论坛,它已经对我的论坛进行了无数次攻击,并且已经收买了我的许多版主,无数版主已经删除了用户、删除了消息、泄露了 IP 地址给其他人,真的把我毁了。我已经好几个月没有版主了,但没有版主很难维持论坛,我想重新招募版主,但选择再好也没用,我不知道北欧国家的文化是怎样的,但在我们国家论坛这个领域,人们并不太认真对待,而且很容易腐败,迟早金钱会占上风,他们会利用自己的权力摧毁我的论坛,我唯一的解决方案是版主没有管理员的权力,而这通过 CSS 得到了解决。
我之前已经就这个问题发过一个帖子,引起了一场毫无结果的大辩论,许多人建议我更好地选择版主,以便我能有判断力并选择更可靠的人。但是,这不适用于我所在的全球论坛,唯一的解决方案是剥夺版主的一些权力(IP、封禁、删除所有帖子、检查电子邮件等),但这对我也有影响。
你好 ![]()
你可以像你的版主一样使用安全模式(Safe Mode)来禁用主题。
通过自定义版块,你可以快速访问 /safe-mode。
-
像这样在你的侧边栏创建一个自定义版块。
它应该看起来像这样。(添加一个标题、名称和链接/safe-mode)请确保不要勾选“公开此版块并对所有人可见”复选框。
-
它将放置在导航菜单(侧边栏)的自定义版块中。
-
在这里你可以禁用主题和主题组件。点击“进入安全模式”按钮。
也许可以看看版块版主?
如果恶意行为者发现了安全模式,您的 CSS 对策将无效。
保护 Discourse 的唯一方法是通过后端仔细分配权限。
也就是说,您需要一个进行这些更改的自定义插件。除非您有预算(可能 1000 到 5000 美元?),否则您需要尝试分类版主或 tl4。
他们已经在这里谈过了:![]()
我认为应该可以使主题组件隐藏除管理员以外所有人的内容。
但安全模式仍然可以轻松绕过。也许一个快速粗糙的插件可以禁用这些功能,而花费的时间比我最初估计的要少。
我同意这里几乎所有人的说法。
如果你真的想走 CSS 的方式,可以这样做,让你的 CSS 修改只应用于非管理员:
在你的主题的 Head 选项卡中,写入以下内容:
<script type="text/discourse-plugin" version="1.4.0">
let currentUser = api.getCurrentUser();
if (currentUser.admin == true) {
document.querySelector("body").classList.add("is-admin");
}
</script>
将 所有 的 CSS 规则包裹在 body:not(.is-admin) { (你的 CSS) } 中,例如:
body:not(.is-admin) {
#main {
background: pink;
}
}
在我的示例中,粉色背景将应用于除管理员用户外的所有人。
Discourse 会自动将基于组的类添加到 \n\n~~<body> 中,因此应该可以跳过 JS 并执行类似的操作\nbody:not(.group-admins) #main {\n background: pink;\n}\n~~
在我的测试实例(最新 Discourse 版本)上,除了 staff 之外,我没有其他特定于组的类:
<body> class="chat-enabled staff has-sidebar-page navigation-topics docked"
在我看来,无论是在 <html> 还是其他任何标签中都没有。
在 meta 上,我们使用 CSS Classes for Current User's Groups daniela 的情况下使用。 ![]()
啊,原来是这样困扰我的——我只是在 Meta 上看
谢谢 @Canapin
我非常爱你
谢谢你给我展示这个,我一年多都没能解决这个问题。



