我们更新了 trust_levels 并解锁了所有级别,但我们发现用户仍然拥有旧的图标标题。
我建议禁止用户使用 trust_levels 徽章,除非他们拥有所需的 trust_level 来显示它们。
我认为徽章需要动态化,因为 trust_level 系统是动态的。
这个简单的修改将解决我们面临的问题,可能还会解决更多管理员的问题,因为用户会随着时间的推移而“失去”他们的 TL。
我们更新了 trust_levels 并解锁了所有级别,但我们发现用户仍然拥有旧的图标标题。
我建议禁止用户使用 trust_levels 徽章,除非他们拥有所需的 trust_level 来显示它们。
我认为徽章需要动态化,因为 trust_level 系统是动态的。
这个简单的修改将解决我们面临的问题,可能还会解决更多管理员的问题,因为用户会随着时间的推移而“失去”他们的 TL。
谢谢,我试过那个插件了,但它反而让事情变得更糟了 ![]()
问题出在徽章上,因为更改信任级别后,旧徽章仍然保留在部落中,这不太好。
这是预期行为吗?
徽章(如果是Flair的话)是可选的……
是的,我们希望用户能够显示他们已达到的最高信任级别(徽章)的标题。
解决方法是删除该徽章,我们希望显示他们的贡献!
这可能可以通过禁用选择没有所需信任级别的徽章(这将使标题保持不变)来实现。
感谢您的回复。我刚刚编辑了 OP 以使其更清晰,并且我认为我在这里找到了真正的问题。
我完全同意!
现状对我来说没有意义,因为我只希望在徽章收藏中显示当前的信任等级。理想情况下,我希望它在用户卡片上也是最显眼的徽章(即始终显示在同一个突出的位置),但又不像头像装饰那样过于张扬。
我通过用一些自定义徽章替换默认的信任徽章,并使用 SQL 自动恢复,已经接近实现了这一点。如果你愿意,我可以分享它们。
抱歉,我还是不明白。您一开始说“我们更新了信任等级,解锁了所有等级”——这是否意味着,根据简单的定义,所有用户都已达到最高信任等级TL4?
我们之前锁定了 TL3。所以当我们解锁信任等级时,大多数人都降级了(因为人们要求使用 Discord,所以有一段时间 Discourse 几乎没有互动)。
这可能是一个很好的解决方法。如果您愿意,请分享!
一些情况是由于常规的后台作业造成的。您可能需要等待一天,信任级别的更改才能在账户中反映出来。
使用默认设置,人们会进入和离开 TL3。所以一个人加入小组并获得徽章,然后稍后离开小组并失去徽章是很正常的——我想。
也就是说,达到的最高级别将是 TL3,但如果您因为变得不活跃而失去了 TL3,您通常会失去您曾经拥有 TL3 的所有标志。我想。
你说得对——SQL 在“官方”徽章中是可见的,其作用正是如此。系统还特意设置为让“较低”信任等级的徽章保留一段时间。
例如,这是 TL3 的 SQL 查询:
SELECT u.id user_id, current_timestamp granted_at FROM users u
WHERE trust_level >= 3 AND (
:backfill OR u.id IN (:user_ids)
)
由于无法编辑“官方”徽章的 SQL,我的变通方法是克隆每个官方徽章,并将 >= 改为 =。这样可以确保只授予一个徽章(至少一旦旧徽章在夜间被撤销后)。
我现在明白这可能才是你真正的问题——即用户在失去信任等级后,其头衔仍然保留(而徽章在每日 SQL 检查被撤销后也会消失)。我尚未详细研究以尝试复现此问题,但你是否已取消勾选那些徽章的“允许徽章用作标题”选项?
我注意到,在 Meta 这里的新用户卡片实验中,这个问题已经解决了:tada::
这基本上从我的角度解决了问题。但如果能在 /u/用户名/summary 页面也按同样方式排序就更好了。
我已编辑了原帖的标题,以更紧密地反映焦点。曾将其移至 Contribute > Feature,但后来意识到我们对此(目前)尚未明确——请继续推进!
你好,我不想要这个,因为我希望真正拥有信任等级的人使用这个头衔。
徽章需要与信任等级同步。当信任等级消失时,它们也需要从个人资料中移除。
它们是存在的——只是不是即时的(撤销只在隔夜生效)
如果它们根本没有消失,那么你可能需要进入 Rails 控制台。
你可能还需要进入那里来清理任何遗留的 Titles。识别它们或删除它们的 Title 字段内容应该不难。
我当然希望库存徽章查询能够设置为撤销被取代的徽章(如上文的 SQL 调整),但这当然取决于 Discourse 的 @team。