您希望完成什么?
我想隐藏“最新”页面上的主题,不让属于某个“不良”用户组的用户看到。我认为这可以通过一个主题组件来实现,但我愿意听取其他建议。这是一个一次性的用例,我不需要一个用户界面来编辑参数。
这里有一个类似的工作,也许可以作为起点。该方法是使用 api.modifyClass 在主题(“最新”页面上的 <tr>)上添加一个类,然后用几行 CSS 将该类设置为 display: none。我假设可以在 modifyClass 中获取用户,并在用户属于“不良”用户组时添加该类。
Framagit
(我意识到这不会影响他们的权限,他们仍然可以在“分类”或“搜索”视图中看到该主题,仍然会收到电子邮件,他们可以发现我的技巧并编辑他们本地的 CSS 等。我只是想制造一些麻烦,让他们采取行动。考虑到所有限制,我认为这种方法会奏效。)
您希望何时完成?
未来几周。
您能为这项任务提供多少美元预算?
价格面议。
1 个赞
pfaffman
(Jay Pfaffman)
2023 年1 月 6 日 04:48
2
您希望 /latest 对这些用户为空?还是只隐藏某些主题?
目的是惹恼他们?(因为他们惹恼了所有人?)。我只是想知道是否有更好的方法来惹恼他们。
2 个赞
我忘了提,我们仍然希望允许他们“最新”中看到一个主题——更新的服务条款。
我也不太喜欢,但这是我能想到的最好的办法。目标是让所有用户签署更新的服务条款,并给予比平时更高的重要性。在 How to force existing users to accept ToS 有讨论过,也许 Discourse Policy 可以提供帮助。但 Policy 并不强制执行任何操作,而且鉴于新服务条款的重要性,我们希望获得比蓝色气泡更多的东西来提醒用户。几年前我们开发了一个插件,在用户接受某项政策时将他们添加到某个组,这在某些方面是有效的,但我不知道如何将其用于此。
我们已经有一套相当复杂的组和类别,所以我们不能简单地将每个类别的权限从“所有人”更改为“已接受服务条款者”。如果类别权限支持布尔逻辑,也许我们可以更改权限,只允许同时属于“高级用户组”和“已接受服务条款者”的用户。但它不支持这一点。
我对于如何提醒他们没有强烈意见。如果 Discourse Policy 有任何内置的强制执行机制,我会使用它。但在这个案例中,我们需要比蓝色气泡更多的东西。
我还短暂地考虑过,如果他们不是“已接受服务条款者”组的成员,就用永久链接重定向他们。如果我们能将用户 ID 或用户名作为查询参数附加到永久链接 URL,这仍然是一个选项。如果我们将他们重定向到 Docusign 或其他类似服务,我可以设置一个 webhook 将他们添加到“已接受服务条款者”组,这样他们就不会再被重定向了。这听起来是个更好的计划吗?
1 个赞
manuel
(Manuel Kostka)
2023 年1 月 6 日 10:13
5
也许可以看看现有的“Gate”组件并调整它们的条件?这些组件有相当烦人的阻止器,并以简单明了的方式告知用户预期内容。
Hello This theme component is created from Guest Gate (Sign Up Popup Plugin) . It can lock topics for anon visitors with a modal and force them to Sign Up or Login. The component can be use for an alert modal, encouraging visitors to sign up but allowing them to close the modal (for this, leave the dismissable false setting unchecked). Options include changing the number of topics that can be viewed before the modal is displayed.
[Screenshot 2022-04-23 at 22.05.29]
Tip: If you use the …
3 个赞
您或许可以使用 Discourse Custom Wizard 插件中的某些功能引导用户接受服务条款:
https://discourse.pluginmanager.org/t/wizard-settings/226
绝对可以根据组成员身份设置条件,并从向导的输出中更改组成员身份。
1 个赞
oca
2023 年1 月 9 日 11:18
7
一个允许为类别设置复杂权限 的插件在很多情况下都很有用。也许这是解决该问题最有效利用开发时间的方式?
也许可以使用文本设置中的 slug 公式:
例如:(#tos-acceptor 或 #direct-concern)和 #premium-group
1 个赞
system
(system)
关闭
2023 年2 月 10 日 02:24
9
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.