愿望清单:显示“用户为这篇帖子获得了徽章”的视觉提示

我们正试图鼓励用户互相帮助。我们已决定开始为那些第一个响应并尝试提供帮助的用户颁发自定义的“用户互助”(u-h-u)徽章。

因为我们希望这种行为たくさん,所以我让这个徽章可以多次获得。

由于需要(目前)人类的智能来评估用户的响应是否是帮助性的,还是仅仅是“我也是”,所以这个徽章是手动授予的。

增加人工必然会引入一个故障点,我意识到很容易将 u-h-u 徽章一次又一次地授予同一个用户/帖子。没有什么能阻止你。对于只能授予一次的徽章,它们会从徽章授予下拉列表中消失,但这个不会。

所以,出于多种原因(包括对其他用户的强化),我认为拥有类似这样的东西会很好:

如果能说明是哪个徽章就更好了(但我上传图片后才想到这一点 :face_with_hand_over_mouth:

13 个赞

这是一个重复的请求,我们的 AI 相关主题功能显示在

11 个赞

我已经先搜索过了。:flushed:

7 个赞

我没有写回复来表示您应该先搜索,而是表示支持该功能请求,因为这是我记得被多次询问过的事情。

而且新的“相关主题”功能比简单的搜索要好得多,并且可以找到搜索找不到的主题 :smile:

10 个赞

所以我想插件可以搜索主题的徽章并将它们添加到序列化器中?这似乎可能很昂贵,尽管我还没有查看过查询会是什么样子。

4 个赞

我认为它与 user_badge 表有一个连接,因为该表包含 post_ids。成本应该不高。

3 个赞

在这种情况下,添加内容到序列化器是一个相当简单的插件,然后还需要一些前端工作来显示它。

2 个赞

我已经关闭了另外两个,转而使用这个,并将它们指向这里。

Sam 在另一个主题中建议的一件事是,在获得手动徽章的帖子中添加一个员工通知,以强调它并将其标记为已获得徽章:

4 个赞

但等等!我认为还有另一个。据称这是我在 2016 年想要的东西。我可能是第一个!:rofl:

8 个赞

我的用例是创建“读书俱乐部”主题,每个阅读并讨论了书籍的人都应该获得“读书俱乐部”徽章。由于我们每个月都有不同的书,因此该徽章可以多次授予。

它不能真正地由 API 自动或批量授予,因为任何发布“我不想读这本书”的人都将成为该主题的一部分,而我不想给他们徽章。

我一直在做的是阅读帖子,每当有人说他们完成了并写下他们的评论时,我就会手动授予他们徽章。这是一个不错的解决方法,尽管有点耗时。

麻烦的是,一个月后,我会忘记我授予了谁以及没有授予谁,并且必须不断点击他们的个人资料才能查看是否已授予。这会变得很复杂,因为人们可以多次获得徽章。

长话短说,如果有人因帖子而获得徽章,是否可以在帖子旁边显示该徽章?所有数据都在那里,这似乎并不难?这将极大地帮助我跟踪!

附注:在相关说明中,似乎有一个错误,意味着“原因”实际上并未设置。我肯定是在帖子中直接授予的,但“原因”没有显示:

1 个赞

@Shauny,我已经将您的帖子移至此现有#feature请求,以便将它们分组在一起。 :slight_smile:

您可能想为该问题另外开一个主题,以免被忽略。 :+1:

3 个赞

我正在这里添加这个,如果有人有兴趣帮忙测试!:slightly_smiling_face:

7 个赞

是否会显示所有与帖子相关的徽章?
特别是对于第一个帖子,很容易触发几个徽章。例如,在单独一行中链接到另一个主题足以触发“第一个链接”、“第一个引用”和“第一个 onebox”。因此,如果我可以排除这些徽章,我会觉得很有帮助。实际上,我认为我更喜欢选择加入的解决方案,因为我认为我想排除大多数徽章。


系统如何看待自己的帖子?其他人通过对帖子采取行动(例如添加反应)获得的徽章是否会显示在帖子作者的用户名旁边?如果许多用户为同一个帖子赢得了“第一个赞”,会发生什么?

4 个赞

哇!这真是一个非常有力的观点。听起来它需要成为一个徽章设置。

2 个赞

感谢您的早期反馈!

这个想法是,是的,将显示所有与帖子相关的徽章。我尝试为单个帖子添加多个徽章,我认为这并不过于杂乱。

值得注意的是,这种情况只会在用户首次加入时发生,因为他们可能会在短时间内获得多个徽章。

哎呀,抓得好!我检索了为帖子赢得的所有徽章,而不是仅检索帖子作者为该帖子赢得的徽章。

5 个赞

今天我一直在完善这个,有几个最近的改动,我很想听听大家的反馈。

首先,我给徽章添加了徽章类型的颜色,但感觉在滚动浏览主题时,这可能会有点过于分散注意力:

大家觉得怎么样?看起来还行,还是太多了?

我还一直在思考如何排除单个徽章。我认为这不需要一个全新的选项,所以我给每个徽章添加了一个 CSS 类,基于徽章的 slug,这样你就可以通过你的主题 CSS 来选择单独隐藏它们。例如:

.topic-meta-data .user-badge-button-first-onebox {
  display: none;
}

这为任何想要的人提供了细粒度的定制。你不再只能选择开启或关闭,而是可以选择突出某些徽章!:grinning_face_with_smiling_eyes:

.topic-meta-data .user-badge-button-first-onebox {
  animation: blinker 1s step-start infinite;
}

@keyframes blinker {
  50% {
    opacity: 0;
  }
}
4 个赞

那些不是程序员的管理员怎么办?“可以用 CSS 隐藏它”的论点适用于 Discourse 的许多功能,但仍然经常添加一个设置。我认为应该有一个选项可以在不使用 CSS 的情况下禁用它。而且我仍然更喜欢选择加入的解决方案,因为我喜欢突出特定徽章的想法,但我不想在所有 Discourse 社区看到所有“第一个 xxx”徽章。而且我担心许多管理员会懒得禁用它,尤其是当您需要 CSS 知识才能做到这一点时。

我认为这也会削弱版主盾牌的作用,因为它现在看起来像另一个徽章。

我喜欢这些颜色,因为否则“好话题”和“很棒话题”之间就没有区别了。而且颜色也有助于自定义上传的多色图像。但我理解您对手视觉噪音的担忧。reactions 插件有一个设置

discourse reactions desaturated reaction panel

通过在悬停前显示反应的去饱和度来减少反应的视觉噪音

这里也可以做很多设置。但这也可以用 CSS 来完成 :slight_smile:

5 个赞

我喜欢这个颜色。

关于 CSS - 我很高兴有一个选项可以关闭其中的一些。
将其设置为选择加入的非 CSS 设置会更好吗?绝对!

但在这里,我是一个乞丐。:sweat_smile:

3 个赞

我不认为管理员需要成为程序员才能修改主题 CSS(参见:当年庞大的 MySpace 主题生态系统)。相反,我认为我们应该致力于让管理员能够尝试让他们的网站独一无二。

完全可以选择加入每个徽章:

// 默认隐藏所有徽章。
.user-badge-buttons > span {
    display: none;
}

// 显示第一个引用徽章。
.user-badge-buttons > .user-badge-button-first-quote {
    display: revert;
}

我完全同意,谢谢你指出这一点!我在盾牌和徽章之间增加了一点填充,以保持视觉上的分离。

太好了,那就这样吧!:slightly_smiling_face:

2 个赞

还值得一提的是,在没有任何特定技术知识的情况下,为您的网站添加自定义 CSS 相对容易:https://meta.discourse.org/t/making-custom-css-changes-on-your-site/168101。如果此徽章指示器功能的文档包含可用的 CSS 示例,那么任何网站管理员都可以轻松地复制/粘贴他们需要的内容,并在需要时进行编辑。

2 个赞