创建和管理日历

:bookmark: 本指南介绍如何使用 Calendar (和 Event) 插件在 Discourse 中创建和管理日历。

:person_raising_hand: 所需用户级别:所有用户

日历是 Discourse 中的强大功能,可让您在社区内组织和显示事件。本指南将引导您完成创建日历、添加事件和有效管理日历的整个过程。

摘要

  • 启用 Calendar 插件
  • 在帖子或分类中创建日历
  • 向日历添加事件
  • 管理日历选项和设置
  • 使用假日日历功能

启用 Calendar 插件

在创建日历之前,请确保您的 Discourse 实例上已启用“Calendar (and Event)”插件。有关启用插件及其相关设置的更多详细信息,请参阅Discourse Calendar and Event 插件文档

创建日历

帖子日历

要在帖子中嵌入日历:

  1. 创建新帖子或编辑现有帖子的第一篇回复

  2. 在单独的行中添加以下代码:

    [calendar]
    [/calendar]
    
  3. 发布或更新帖子


:information_source: 一周的第一天默认为星期一,但可以使用“calendar first day of week”站点设置进行配置(选项:Saturday, Sunday, or Monday)。

分类日历

要创建全分类日历:

  1. 访问 /admin/site_settings/category/discourse_calendar?filter=plugin=discourse-calendar

  2. 在“calendar categories”设置中,添加一个具有以下格式的条目:

    categoryId=123;tzPicker;defaultView=month
    
    • 123 替换为您的分类 ID(在查看分类的 URL 中找到)
  3. 将分类 ID 添加到“events calendar categories”设置中

  4. 可选:设置“discourse post event allowed on groups”以控制哪些组可以添加事件

向日历添加条目

帖子日历

要向帖子日历添加事件:

  1. 回复包含日历的帖子
  2. 在编辑器工具栏中打开 ⊕ 选项菜单,并使用“Insert date / time”功能添加日期或日期范围
  3. 在日期上方添加描述
  4. 提交回复

重新加载帖子后,事件将显示在日历中。

分类日历

要向分类日历添加事件:

  1. 在该分类中创建新帖子
  2. 在编辑器工具栏中打开 ⊕ 选项菜单,然后选择“Create event”
  3. 填写事件详情并发布

事件将显示在分类日历上。

日历选项

您可以使用各种选项自定义日历:

选项 示例 描述
隐藏周末 weekends="false" 隐藏星期六和星期日
隐藏特定日期 hiddenDays="1,2" 隐藏星期一和星期二(使用 0-6 代表星期日-星期六)
设置默认视图 defaultView="month" 选项:month, week, listNextYear
忽略时区 fullDay="true" 将所有事件视为全天事件

使用示例:

[calendar weekends="false" hiddenDays="1,2" defaultView="week" fullDay="true"]
[/calendar]

删除日历条目

日历条目可以通过以下方式删除:

  • 使用“delete expired event posts after”设置自动删除过期的日历条目
  • 使用帖子计时器自动删除回复
  • 根据需要手动删除帖子

假日日历

假日日历是一项特殊功能,用于管理网站员工的休假:

  1. 创建一个在第一篇回复中包含日历的帖子
  2. 将“holiday calendar topic id”设置为该帖子的 ID
  3. 对该帖子的回复将被视为发帖用户的休假时间
  4. 每个回复必须包含通过编辑器 ⊕ 选项菜单中的“Insert date / time”功能添加的日期/时间戳,它才会显示在日历上
  5. 休假条目会自动随机着色
  6. 一个表情符号(默认: :date:)将出现在用户卡片和 @提及 中的用户名称旁边
  7. 可选:启用“calendar automatic holidays enabled”以包含特定于区域设置的假日

常见问题解答

问:为什么有些事件似乎跨越了多天?
答:日历始终使用 UTC。请使用“all day event start time”和“all day event end time”设置来调整时区差异。

问:我能控制日历条目的颜色吗?
答:对于分类日历和即将发生的事件,您可以通过标签或分类分配颜色,使用“map events to color”站点设置。假日日历条目是自动随机着色的,无法自定义。

问:如何在列表视图中显示过去的事件?
答:目前在使用 defaultView=listNextYear 时存在一个错误,导致初始视图为空。作为一种变通方法,用户需要切换到月视图,返回上个月,然后再返回列表视图以查看过去的事件。

附加资源

11 个赞