Discourse Stickers v2.0
此次发布对该组件进行了相当重要的现代化升级。除了多项内部改进外,贴纸配置也经过重新设计,使得管理大型贴纸集变得更加轻松。
完全重新设计的贴纸设置
v2.0 最大的变化在于贴纸配置本身。
旧版本将贴纸存储为包含以下值的 JSON 设置:
-
title -
emoji -
previewUrl -
markdownUrl
在 v2.0 中,这已被替换为 Discourse 原生的 objects 设置类型。
现在,每个贴纸都是一个拥有独立字段的正式可配置对象:
-
标题 - 贴纸名称/工具提示文本
-
分组 - 可选地将贴纸组织成组
-
Emoji 徽章 - 可选地在角落显示一个小 Emoji
-
图片 - 通过设置直接上传贴纸
-
分类 - 可选地将贴纸限制在特定分类中
-
从私信中隐藏 - 控制贴纸是否在私信中可用
-
聊天频道 - 可选地将贴纸限制在特定的公共聊天频道中
这使得贴纸配置更易于理解和维护,尤其是对于大型贴纸集而言。
贴纸分组与筛选
现在可以将贴纸分配到 分组 中。
当存在多个分组时,贴纸选择器会自动在顶部显示筛选栏。
你可以在以下选项之间切换:
-
全部
-
各个分组
-
其他,用于未分配分组的贴纸
筛选器是根据当前用户可用的贴纸动态生成的。
特定分类的贴纸
现在可以将贴纸可选地分配给特定的 Discourse 分类。
如果贴纸配置了分类,则仅在选择这些分类之一时,它才会出现在常规帖子/回复编辑器中。
如果未配置任何分类,则该贴纸在所有地方均可用。
对聊天贴纸进行更多控制
v2.0 增加了对 Discourse 聊天中贴纸可用性的更多控制。
你现在可以:
-
在私信中隐藏单个贴纸;
-
将贴纸限制在特定的公共聊天频道中;
-
将频道设置留空,以使贴纸在所有公共/分类聊天频道中可用。
这允许管理员为社区的不同部分维护不同的贴纸集。
已发布的贴纸不再可点击
已发布的贴纸现在被视为非交互图像。
点击它们时不再打开 Discourse 灯箱。
这适用于:
-
常规帖子中的贴纸;
-
聊天中发布的贴纸。
目的是让贴纸的行为更像实际的贴纸/反应内容,而不是普通的上传图像。
更好的空状态
如果当前上下文中没有可用的贴纸,选择器现在会显示适当的空状态,而不是简单地显示一个空的选择器。
例如,当分类或聊天限制导致没有任何贴纸可用时,就会发生这种情况。
现有的贴纸配置已迁移
v2.0 最重要的部分之一是,现有安装 无需重新创建其贴纸集。
更新组件时,旧的 sticker_images JSON 设置会自动迁移到新的 objects 格式。
现有的贴纸标题和 Emoji 值将保留。
最重要的是,现有的上传贴纸图像也会自动迁移。
因此,如果你已经配置了数十个贴纸,升级到 v2.0 不需要你重新上传所有贴纸。
旧的 markdownUrl 属性不再需要,也不会被迁移,因为新的 Image 字段代表了实际的 Discourse 上传。




