Discourse Calendar - 如何操作?

大家好,
我是首次安装和维护 Discourse 的用户,但也是长期使用者。
目前我对一些插件以及看似缺乏的文档感到有些困惑。我现在的重点是 Discourse Calendar 插件。
我找到了两个相关主题:
该插件本身 - Discourse Calendar
一个求助主题 How to use the calendar plugin?

这两个主题都没有详细说明如何使用该插件,除了提到在主帖中创建主日历,以及在回复该主帖时添加事件。
截图显示了多种颜色,这让我觉得日历或许可以从多个分类中读取数据?

在插件设置中,还有一个“日历分类(calendar categories)”选项,但我不清楚如何使用它。我成功让一个日历出现在某个分类页面的顶部,但它是空的。
我目前使用的是 categoryId=7;postId=19,其中分类 7 是我希望日历出现在其顶部的分类。但我不太清楚 postId 的作用。我尝试过使用包含事件的帖子,以及第一个帖子是日历、回复中包含日期的帖子。日历确实出现在分类顶部(在一个形状不规则且无法滚动的框中),但无论我使用哪个 postId,日历上都不显示任何事件。

帮助文本还提到:其他有效设置:tzPicker、weekends 和 defaultView。
但没有解释这些设置的作用或如何使用它们。

简而言之,我正在寻找任何提示,或指向更详细说明该插件的资源链接。

最终,我希望实现一种方式,让日历能够读取某个分类中的多个帖子。目前我的做法是指导用户创建两个帖子:首先创建一个新主题并添加一个事件,包括事件描述等……该主题用于讨论此事件。
然后,我让他们复制该主题的链接,前往置顶的“主事件日历”主题,并在回复中插入日期,再粘贴事件链接。这样,“主事件日历”主题的日历就能包含所有事件,同时又有独立的主题用于事件讨论。

我觉得应该有更好的方法,但我不清楚具体是什么。

非常感谢大家的任何见解。

6 个赞

你好!
Postid 可以在 JSON 中找到,它是声明日历的帖子的 ID(而非主题 ID)。

关于带颜色编码的事件,我认为目前(:sweat_smile:)它们来自 events 插件(但我可能漏掉了一次提交!)。

也许以下内容可以解答你的一些疑问:

非常感谢。PostID 和 TopicID 的问题正是我之前出错的地方,现在已澄清。我仍然希望插件能有一份“手册页”或类似文档,列出所有可能的变量和输入,不过我会继续尝试使用。另外,也感谢您提供的事件插件链接。正如您链接指向的帖子所述,Calendar、Date 和 Event 之间的关联与区别令人困惑,尤其是考虑到事件插件本身就是日历插件的一部分。

4 个赞

@ben_t,您的使用场景完全描述了我所期待的功能类型……各个群组可以就其活动发起讨论线程,但通过在其主题中创建活动,这些活动将被填充到“主活动日历”中,该日历包含所有群组的所有活动。然后,主活动日历的读者可以点击日历中的任何项目,直接进入该活动的讨论线程。

别误会,就现状而言,我理解那种“活动存在于某个线程中但不会出现在主活动日历上”的设想(例如,某个小团体在主日历上的大型活动之前举行的筹备会议)。

不过,我认为我们的使用场景确实是一个值得实现的功能,因为我能看到多种应用场景(如学校体育日历、社区公告板等)。

顺便提一下,我发现了另一种创建主题的方法:在首帖中嵌入日历,然后通过回复该日历来添加日期,这些日期会自动更新到首帖中……而无需进入设置并手动计算线程编号。

在首帖的某个位置放入:

[calendar]
[/calendar]

我是在 [GitHub 页面] (Discourse Calendar (and Event)) 上发现这一点的。不过我想这可能是在您发布此消息之后才添加的功能。

……我要去研究一下颜色设置的问题了!:smiley:

有人能分享一下声明日历时如何找到 Postid 的步骤吗?我卡在了这一步,非常感谢您的帮助。

编辑:找到了!如果有人还在挣扎,可以按照以下步骤找到 postId。以这个主题为例:

https://meta.discourse.org/t/discourse-calendar-how-to/165536/5

  1. 删除主题的 slug,使其看起来像这样:https://meta.discourse.org/t/165536/5
  2. 删除末尾的帖子编号(/5)并替换为 /posts.json,因此 URL 看起来像这样;
    https://meta.discourse.org/t/165536/posts.json
  3. 打开 URL,您将在第一行找到所需的 postId:
  4. 将 URL 粘贴到日历插件设置中,因此在我们的示例中,它看起来应该像这样:
  5. 您的类别中的日历现在应该会显示该主题中的所有 [date] 条目。
5 个赞

有人能解释一下这些设置是什么吗?我除了在这篇帖子中找到它们之外,没有找到任何参考,而且也没有解释。:sadpanda:

1 个赞
[calendar weekends="false"]
[/calendar]

将隐藏周末。

[calendar defaultView="listNextYear"]
[/calendar]

将默认显示列表视图(其他选项为 monthbasicWeek)。

[calendar tzPicker="true"]
[/calendar]

将允许用户在日历的右上角选择时区。

4 个赞

有帮助,但这是否意味着此设置信息不适用,还是仅为帖子中指定的日历设置默认值?

:thinking: 对不起,我不确定我是否理解这个问题 :sweat_smile:
我想说的是,设置是按项目设置的,也就是说,是针对一个日历(在指定的帖子中)

很抱歉造成混淆。
在 Discourse 日历的设置中,您会看到我之前发布的图片。
它需要 categoryId 和 postID,然后列出其他有效的设置,但没有说明它们在此实例中的作用。

我想知道这是帮助文本不佳还是我对这些设置与“日历类别”设置的关系的理解不佳。

根据我的尝试,我没有看到任何效果,但我也许是错的。 :smiley:

1 个赞

哦,没关系,我的英语就像瑞士奶酪,大部分都是洞,所以才会疑惑

我认为它应该在没有双引号的情况下工作,例如
categoryId=31;postId=4867;tzPicker=true;weekends=false

2 个赞

我发现你把
meta.discourse.org/t/discourse-calendar-how-to/165536/6
改成了
meta.discourse.org/t/discourse-calendar-how-to/165536.json

1 个赞

同意。我认为有时说明是从开发者的角度编写的,需要为普通用户提供更多分步信息和图片。日历也许可以使用一个 Theme component 来让主题中的设置更清晰,或者其他类似的功能。

2 个赞

我最终没有使用“关于主题”日历,因为创建事件的简单方法始终是主题的第一个帖子,而您无论如何都会使用它来制作日历,而不是事件。

我能够编辑子类别现有主题的第一个帖子,然后子类别的颜色显示在父类别显示的日历中。

另外,您提到了主题组件,这暗示了可调整性;我所说的日历,也就是通过 Events Calendar Categories 管理设置实现的那个,我想能够调整:

  • 桌面网站上日历的大小,移动网站看起来还可以
  • 一周的开始日期

我在这里列出的东西不多,因为我不想吓跑别人,我猜想存在开发问题,导致超级用户需要有不同的方法来实现 discourse-calendar。

1 个赞

据我观察,我还没有看到日历伴侣 TC。您或许可以使用浏览器的检查元素功能创建一个自定义 Theme component,以识别和调整桌面版的日历大小。请确保将其放在桌面 CSS 标头中。

该团队最近发布了一个直播伴侣插件。这或许会引起您的兴趣。它使用了聊天和日历。

1 个赞

很好,我喜欢那个插件,虽然我不会经常用到😅 我是个喜欢私密论坛的人。也许有一天我会有足够的钱来直播物理复习

关于“按父类别日历”的说法,如果#uncategorized(可能?)能在主页(或#general类别)上显示日历,并将所有其他类别的活动合并在一起,那就太好了。

1 个赞