即使设置了-1,已过期的带有结束时间的事件仍会从即将发生的事件中移除

我正在尝试使用日历插件,但它会在事件发生后将其从日历中删除,尽管设置已设置为 -1 以禁用删除。我也尝试将到期时间设置为两年(17532 小时),但这也会在事件发生后立即将其删除。

我发现唯一可以保留日历中事件的方法是删除结束时间和日期。

有人知道为什么 -1 不起作用,以及解决方案是什么吗?

谢谢

你好,欢迎 @Helen22 :slight_smile:

我最近一直在审查这个插件,并且在我的测试站点上正好有几个日历可以用来对照检查。能否请问一下,在出现问题的地方,你使用的是哪种类型的日历?

我在主题中嵌入了日历,那个日历保留了已过期的日历项:

我还将其用作分类标题:

此外,我还为事件类型的项设置了一个 /upcoming-event 日历:

我目前还没有将事件类型的日历用作分类标题,所以我怀疑问题可能出在那里…… :slight_smile:


实际上,让我再确认一下结束时间……

是的,看起来添加结束时间会导致事件从 /upcoming-event 日历中消失,这确实与其他日历的行为不一致。我认为我们应该将此问题转移到 Contribute > Bug 分类,看看能否请人帮忙查看。:+1:

(顺便说一句,为了彻底起见,非事件类型的日历即使包含结束日期,也按预期正常工作。)

如果您指的是 delete expired event posts after 设置,我认为它会阻止删除帖子,但不会阻止显示活动。此外,我认为这里的“活动”一词具有误导性,它在日历部分,所以我认为它更多地意味着“与日期相关的事物”,而不是“可以回复的活动”。
这是一个日历活动,而不是一个事件活动。

活动活动旨在显示在 /upcoming-events 中,因此没有过去的内容……

实际上,有一个关于此的 PR:FEATURE: Show all events in past (add deleted_at in discourse_calendar_post_event_dates) + add show_past_event in settings by ledadu · Pull Request #199 · discourse/discourse-calendar · GitHub

我无法确定这个怪癖是它确实显示了没有结束时间的过去事件,还是它不显示有结束时间的过去事件。如果这是预期与实际行为之间的情况,也许我可以将其包含在插件主题重写中?

:thinking: 如果一个事件没有结束时间,它是否可能发生在过去?

Car Chase Action GIF by Regal

我认为现在的行为是符合预期的,不显示过去的事件(即结束时间在过去的事件),但提供一个能够显示所有事件的选项可能会很好(但这可能会带来意外的 UI 影响,我在这里想到的是:https://github.com/paviliondev/layouts-event-list-widget)。
如果你要重写这个主题,请务必 :sweat_smile: “event”应该只用来描述与事件相关的事物,当它与日历相关时会非常令人困惑。

是的。:+1: 而且可能还需要调整一些设置描述。:crossed_fingers:

与其现在把它移到另一个类别,不如留在这里,看看我是否能获得更多清晰的信息,然后再为它找到一个永久的归宿。:slight_smile:

但感谢你对这个插件如此了解,这确实很有帮助。:+1: :slight_smile:

感谢大家的评论 -

我们有来自汉堡菜单的“即将发生的事件”日历,以及类别中的“即将发生的事件”。它们都无法保留事件。

我在哪里可以找到它?

我同意这一点,因为从视觉上看,当“即将发生的事件”日历中有内容时,它看起来比没有内容时更被充分利用。

你可以通过在帖子的 OP(首帖)中添加以下内容来创建一个常规日历:(勾选 calendar enabled 选项)

[calendar]
[/calendar]

然后,所有带有描述和日期的后续帖子都会被添加到该日历中。例如:

这是我的生日!
[date-range from=2022-12-20 to=2020-12-21 timezone="America/Boise"]

你可以从分类 URL 的末尾获取你希望更突出显示该日历的分类 ID,并从 JSON 中获取日历主题的帖子 ID,然后将它们添加到以下设置中:

这些主题中的日历项目帖子受 delete expired event posts after(删除过期的活动帖子后)设置的控制。 :+1:

Discourse Calendar and Events 主题中有更详细的信息,如果你需要额外的帮助,也可以随时发起一个新的 Support 主题。 :slightly_smiling_face:

实际上,既然我们知道该设置按预期工作,现在是时候将这个主题转移到 Support 板块作为其永久家园了。在我更新了 Calendar&Event 文档后,也许值得创建新的 Contribute > UXContribute > Feature 主题来涵盖任何遗漏的想法。 :+1:

感谢您的帮助@JammyDodger。我真的很感激。\n\n所以,为了回顾并澄清我最初问题的答案,目前有没有办法在事件发生后将其保留在“即将发生的事件”日历中,除非我删除结束时间?

没关系。很高兴能帮到你。 :slight_smile:

是的,目前在 event-calendar/upcoming-events 中保留活动式项目的唯一方法是删除它们的结束日期。我想知道是否可以创建“过去活动”或“活动历史”日历主题来使用日历项目来实现类似的功能?我不确定这是否适合您,但也许值得探索?

是的,这可能会奏效。我会去研究一下。谢谢!