在所有类别中显示“即将举行的活动”

大家好!我遇到一个小问题,一直无法解决。我有一个论坛(laguaridaretro.com),通过“右侧边栏块”组件,我可以自定义论坛的右侧栏。具体情况是,我在右侧栏里放置了即将举行的活动,如下面的截图所示。这些活动会显示在论坛首页和“活动”分类中,但当我进入论坛的其他分类时,右侧栏却是空的,就像没有发布任何活动一样。

我希望所有分类中都能显示所有活动,而不仅仅是首页和“活动”分类。这可能实现吗?

日历显示出来了,但没有列出任何活动,还是整个日历都不见了?

我猜你在管理界面中配置了日历显示的页面,如下所示:

默认情况下,事件列表仅返回当前类别的事件。有一个值转换器(discourse-calendar-upcoming-events-show-cross-category)可以用来更改此设置。

你需要创建一个新的主题组件(我认为最好让它尽早加载,所以名称可以使用类似“aaa 每个类别中的所有事件”的内容)。

在 JS 选项卡中添加以下内容:

api.registerValueTransformer(
   "discourse-calendar-upcoming-events-show-cross-category",
   () => true
 );

效果如下所示:

然后保存代码,刷新后你应该就能看到每个类别中的所有事件了。

就是它!衷心感谢,现在我已经可以在所有类别中查看事件了 :smiley:

我们为什么不考虑将其作为现有“即将发生的事件”模块的功能/参数添加呢?

我觉得这可能会让人困惑,因为它会产生全局影响。我不确定每个人都会立刻明白,更改右侧边栏块中事件列表的参数也会影响主题组件之外的事件列表。因此,我建议将其保持独立。

有趣!我之前没意识到它也能这样做。值得注意的是,它也会在日历中显示“消息”里的事件。对我来说,这是一个很大的加分项,我更喜欢这种方式,而不是默认行为。

我已经在“事件”分类中隐藏了日历,因为我觉得它有点杂乱/难看;在这些分类中启用右侧边栏块要好看得多。