本指南介绍如何使用 Discourse 的 Calendar (and Event) 插件创建和管理日历。
所需用户级别:所有用户
Discourse 中的日历是一项强大功能,可让您在社区内组织和显示活动。本指南将引导您完成创建日历、添加活动以及有效管理日历的整个过程。
摘要
- 启用 Calendar 插件
- 在主题或类别中创建日历
- 向日历添加活动
- 管理日历选项和设置
- 使用节假日日历功能
启用 Calendar 插件
在创建日历之前,请确保您的 Discourse 实例已启用“Calendar (and Event)”插件。有关启用插件及其相关设置的更多详细信息,请参阅 Discourse Calendar and Event 插件文档。
创建日历
主题日历
要在主题中嵌入日历:
-
创建新主题或编辑现有主题的第一个帖子
-
在单独的行上添加以下代码:
[calendar] [/calendar] -
发布或更新帖子
在 Discourse 日历中,星期一被视为一周的第一天,无论查看者的区域设置如何。目前此设置不可配置。
类别日历
要创建全类别日历:
-
转到
/admin/site_settings/category/discourse_calendar?filter=plugin=discourse-calendar -
在“calendar categories”设置中,添加格式如下的条目:
categoryId=123;postId=4949;tzPicker;defaultView=month- 将
123替换为您的类别 ID(在查看类别时的 URL 中找到) - 将
4949替换为类别描述的帖子 ID(通过在“关于类别”主题 URL 后面附加.json来找到)
- 将
-
将类别 ID 添加到“events calendar categories”设置中
-
可以选择设置“discourse post event allowed on groups”来控制哪些组可以添加活动
向日历添加项目
主题日历
要向主题日历添加活动:
-
回复包含日历的主题
-
使用撰写器中的“插入日期/时间”功能(在 \u003ckbd\u003e+\u003c/kbd\u003e 菜单中)添加日期或日期范围
-
在日期上方添加描述
-
提交回复
刷新主题后,活动将显示在日历中。
类别日历
要向类别日历添加活动:
-
在类别中创建新主题
-
点击齿轮按钮并选择“创建活动”
-
填写活动详细信息并发布
活动将显示在类别日历中。
日历选项
您可以使用各种选项自定义日历:
| 选项 | 示例 | 描述 |
|---|---|---|
| 隐藏周末 | weekends="false" |
隐藏星期六和星期日 |
| 隐藏特定日期 | hiddenDays="1,2" |
隐藏星期一和星期二(0-6 代表星期日-星期六) |
| 设置默认视图 | defaultView="basicWeek" |
选项:month、basicWeek、listNextYear |
| 忽略时区 | fullDay="true" |
将所有活动视为全天活动 |
示例用法:
[calendar weekends="false" hiddenDays="1,2" defaultView="basicWeek" fullDay="true"]
[/calendar]
删除日历项目
日历项目可以通过以下方式删除:
- 可以使用“delete expired event posts after”设置自动删除过期的日历项目
- 使用主题计时器自动删除帖子
- 根据需要手动删除帖子
节假日日历
节假日日历是一项特殊功能,用于管理站点员工的休假:
-
创建一个在第一个帖子中包含日历的主题
-
将“holiday calendar topic id”设置为该主题的 ID
-
回复此主题将被视为发布用户的休假时间
-
休假条目会自动随机着色
-
休假用户姓名旁边的用户卡片和 @提及 会显示一个表情符号(默认:
) -
可以选择通过启用“calendar automatic holidays enabled”来包含用户本地特有的节假日
常见问题解答
问:为什么有些活动似乎跨越了多天?
答:日历始终以 UTC 时间显示。使用“all day event start time”和“all day event end time”设置来调整时区差异。
问:我可以控制节假日日历条目的颜色吗?
答:目前,无法控制节假日日历条目的颜色,也无法在常规日历中获得带颜色的条目。
问:如何以列表视图显示过去的活动?
答:目前在使用 defaultView=listNextYear 时存在一个错误,会导致初始视图为空。作为一种变通方法,用户需要切换到月视图,然后返回一个月,再返回列表视图才能看到过去的活动。



