| 摘要 | Discourse 日历与活动 插件为您的 Discourse 站点增添了动态且交互式的日历和活动功能。 | |
| 安装指南 | 此插件已包含在 Discourse 核心中。无需单独安装该插件。 |
启用日历和活动
您可以通过开关或在设置中启用“日历和活动”插件,两者均可在您的 admin/plugins 页面访问:
功能
毫不意外地,Discourse 日历与活动 为您的 Discourse 站点同时添加了日历和活动功能。借助这些功能,您可以创建单个话题日历以跟踪重要场合或时间线,在分类中显示日历,添加假日日历以标记假期、缺席或病假,创建交互式活动话题,以及显示所有即将举行的活动的简易日历摘要。
日历
可以在多个话题中创建自定义日历,并且您可以选择将希望获得更高可见性的日历显示在分类话题列表上方。
您可以在以下链接中找到有关如何创建和使用日历的更详细信息:
活动
活动功能允许在话题中插入交互元素,您的成员可以使用这些元素报名参加或参与社区活动。所有这些活动都会汇总在一个专门的站点范围日历中,并可选择添加一个简易访问链接到您的导航菜单。您可以在以下链接中找到有关如何创建和使用此功能的更多信息:
请勿将其与 Pavilion 的 Events 插件(注意是复数)混淆
日历设置
| 名称 | 描述 |
|---|---|
| calendar enabled | 启用 discourse-calendar 插件。这将在话题的第一篇帖子中支持 [calendar][/calendar] 标签。 |
| holiday calendar topic id | 员工假日/缺席日历的话题 ID。 |
| holiday status emoji | 定义用于假日状态的 Emoji。 |
| delete expired event posts after | 过期活动的帖子将在 (n) 小时后自动删除。设置为 -1 以禁用删除。 |
| all day event start time | 未指定开始时间的活动将从此时开始。格式为 HH:mm。例如,早上 6:00 请输入 06:00 |
| all day event end time | 未指定结束时间的活动将在此时结束。格式为 HH:mm。例如,下午 6:00 请输入 18:00 |
| calendar categories | 在分类顶部显示日历。必填设置是 categoryId 和 postId。例如:categoryId=6;postId=453[1] 其他有效设置:tzPicker[2], weekends[3] 和 defaultView[4]。 |
| calendar categories outlet | 允许更改显示分类日历的出口。 |
| working days | 设置工作日。您可以使用帖子中的 timezones 标签显示团队的可用性,例如:[timezones group=admins][timezones] |
| working day start hour | 工作日开始时间。 |
| working day end hour | 工作日结束时间。 |
| close to working day hours extension | 设置工作日小时数的扩展时间以突出显示时区。 |
| calendar automatic holidays enabled | 根据用户区域自动设置假日状态(注意:您可以在插件设置中禁用特定的自动假日) |
| map events title | 根据分类映射侧边栏日历的标题。默认为“即将举行的活动” |
活动设置
| 名称 | 描述 |
|---|---|
| discourse post event enabled | 启用活动功能。注意:还需要启用 calendar enabled。 |
| discourse post event allowed on groups | 允许创建活动的组。 |
| displayed invitees limit | 限制活动中显示的受邀者数量。 |
| display post event date on topic title | 在话题标题后显示活动日期。 |
| use local event date | 在话题标题后使用本地日期而不是相对时间。 |
| discourse post event edit notifications time extension | 延长活动结束后 going 受邀者仍会收到原始帖子编辑通知的时间(以分钟为单位)。 |
| discourse post event allowed custom fields | 允许每个活动设置自定义字段的值。 |
| events calendar categories | 在分类顶部显示活动日历。 |
| sort categories by event start date enabled | 启用按活动开始日期对分类话题进行排序。 |
| disable resorting on categories enabled | 允许分类禁用用户对活动分类进行排序的能力。 |
| sidebar show upcoming events | 在侧边栏的“更多”下显示即将举行的活动链接。需要 post event enabled |
| map events to color | 为指定的标签或分类分配活动颜色 |
![]()
![]()
discourse-post-event/events.json端点现在增加了一个参数,用于在简单响应和详细响应之间切换。要获取详细响应,您可以添加?include_details=true:
/discourse-post-event/events.json?include_details=true
直播活动
对于直播活动,请使用直播功能让成员观看活动并同时参与聊天。
直播活动包括:
- 视频流(例如使用 YouTube)
- 使用 Discourse Calendar and Events 的日历活动
- 自动为活动创建的配套 聊天 频道
直播活动的前提条件
要使用直播活动,您必须启用 chat enabled,因为直播会创建聊天频道以配合您的活动,此外还需要启用 discourse post event enabled 和 calendar enabled。
创建直播活动
要创建直播活动:
- 打开一个新话题。
- 在编辑器工具栏中选择 + 图标并点击 创建活动(如果活动尚未添加到您的话题中)。
- 在活动/URL 字段中粘贴活动视频链接(例如,YouTube URL)。
- 打开“直播”开关
然后您将看到活动和直播已创建,右侧还有一个配套的聊天频道。
一旦任何用户在活动上点击 参加,他们就会自动加入聊天频道,从而参与对话!
与其他插件的集成
您可以使用此插件中的组件与 Right Sidebar Blocks。您需要确保在 Right Sidebar Blocks 组件中启用了所需的路由。块名称将为 upcoming-events-list。历史上,日历插件本身需要额外的设置,但现在已简化。
这是侧边栏日历的默认外观。
如果您不希望显示时间,可以在组件的块设置中添加空的 timeFormat 值。
托管在我们的平台上?此插件在我们的商业版和企业版中可用 Calendar | Discourse - Civilized Discussion
categoryId 是日历将显示顶部的分类。
postId 是您使用 [calendar][/calendar] 放置日历的帖子。 ↩︎它可以在日历右上角显示时区选择器。默认为 False,您可以通过 tzPicker=true 启用它 ↩︎
它可以从日历中隐藏周六和周日。默认为 True。您可以通过 weekends=false 将其设置为 false。 ↩︎
defaultView 将设置日历的视图(天、周等)。可以设置为:
defaultView=agendaDay
defaultView=agendaWeek
defaultView=month (默认)
defaultView=listNextYear ↩︎













