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

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

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

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

谢谢

2 个赞

你好,欢迎你 @Helen22 :slight_smile:

我最近在审查这个插件,并且方便地在我的测试站点上有几个日历可以进行对照。能否请你告诉我你使用的是哪种日历,以便我检查它为何不起作用?

我在主题中有一个日历,它保留了过期的日历项目:

我还有一个作为类别标题的日历:

我还有一个 /upcoming-event 的日历,用于活动类项目:

我还没有一个作为类别标题的活动类日历,所以我感觉可能是那个…… :slight_smile:


实际上,让我仔细检查一下结束时间……

是的,看来添加结束时间会导致事件从 /upcoming-event 日历中消失,这似乎与其他日历的行为不符。我认为我们应该将此移至 Bug 类别,看看是否能有人来处理它。 :+1:

(而且,为了确保全面,非活动类日历即使包含结束日期也能正常工作)

2 个赞

如果您指的是 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

3 个赞

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

1 个赞

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

Car Chase Action GIF by Regal

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

3 个赞

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

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

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

2 个赞

感谢大家的评论 -

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

我在哪里可以找到它?

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

3 个赞

您可以通过在主题的 OP 中添加以下内容来创建一个常规日历:(并勾选“启用日历”)

[calendar]
[/calendar]

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

It's my birthday!
[date-range from=2022-12-20 to=2020-12-21 timezone="America/Boise"]

然后,您可以从类别 URL 末尾获取要更突出地显示它的类别 ID,以及日历主题的帖子 ID(可以从 JSON 中获取),并将其添加到此设置中:

这些主题中的日历项目帖子受“删除过期的事件帖子后”设置的控制。:+1:

Discourse Calendar (and Event) 主题中有更详细的信息,如果您需要额外的帮助,也可以随时创建一个新的 Support 主题。 :slightly_smiling_face:

实际上,既然我们知道该设置按预期工作,这似乎是一个将此主题移至 Support 以便永久保存的好时机。在更新了日历和事件文献后,创建新的 UXFeature 主题来涵盖任何遗漏的想法可能是有价值的。 :+1:

3 个赞

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

2 个赞

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

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

1 个赞

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

2 个赞