自助服务徽章?

我想为我的 Discourse 添加自助式代词徽章,但不确定最佳方案是什么。似乎目前还没有自助式徽章功能,所以我可能需要自己搞点“黑科技”。

从用户体验的角度来看,最好的办法或许是创建一个专门的帖子,让用户在回复中写下他们偏好的代词,然后通过 SQL 查询找到这些回复并自动分配相应的徽章?

有没有比这更简单的方法,是我还没想到的?

我不太确定您具体想实现什么,但您可以创建一个自定义用户字段,让用户在那里填写他们的代词。\n\n您所说的“徽章”是什么意思?Discourse 有徽章功能,但我不确定您指的是否是这个,或者也许就是。如果您确实指的是徽章,那么您可以启用 Badge SQL,并设置当有人在个人资料中填写代词字段时自动分配徽章。

啊,在个人资料中添加自定义代词字段是个不错的开始。问题在于,我通常不会在回复某人之前先去查看他们的个人资料。

我之所以考虑将其设为徽章,是为了让它更显眼……有一个选项叫“允许徽章用作标题”……我猜这意味着它可以显示在人名旁边,但也许并非如此?

你可以让代词字段显示在他们的卡片上,这样比直接跳转到个人资料页面要方便得多。

经过一些调整,你可以让主题组件在某个位置显示他们的代词字段。

嗯,我在卡片上试了一下,效果不错。我原本想在用户的主群组之后添加,但担心那会让那一行显得太拥挤。而且我也不太想折腾主题。

这也是我的顾虑。你真的希望所有用户都在每一条、每一条、每一条消息中都大声喊出自己的代词吗?而且,创建群组本身也会带来一系列问题,因为你必然会限制人们可以使用的代词范围。CSS 方案可以将自定义字段的值显示在用户名和/或主要群组之后。我也不太乐意折腾 CSS,但我猜这里应该有人能告诉你具体怎么做。最坏的情况,我想也就几百美元而已。

本主题展示了如何在发帖者姓名后添加用户自定义字段:Ability to place custom fields in post header?

哈哈。我说对了,他们甚至都不用问!:wink:

非常感谢!!! :slight_smile:

我需要创建一个插件来添加该脚本吗?

不,只需创建一个主题组件,添加该代码(根据您的自定义变量修改后),并将其添加到主题组件的 <head> 部分。然后,将该主题组件添加到您正在使用的任何主题中。

对于像我这样不知道如何制作主题组件的人来说,你可以直接在网站上完成:进入设置下的“主题”,点击“组件”标签,然后点击“安装”,再点击“创建”。搞定。

(点击“安装”来创建新组件有点奇怪,但我已经弄明白了)。

好的,呃,有什么技巧能让它……生效吗?点击“预览”时看起来没问题,但在整个网站上并没有起作用。我不知道区别在哪里?我已经创建了它,系统显示已启用。我在两个页面的源代码中都没看到实际的脚本,但我猜这是某种 HTML/JavaScript 的魔法。

请确保您已将组件添加到您网站的主题中。相关详情可参考:https://meta.discourse.org/t/how-do-i-install-a-theme-or-theme-component/63682。您也可以查看:https://meta.discourse.org/t/developer-s-guide-to-discourse-themes/93648。

这就对了。谢谢,我没想到还得把它添加到主题里,不过这样确实合理。

借鉴社交网络的做法,为什么不直接在个人资料顶部添加你偏好的代词呢?