右侧边栏模块

您好,

“recent-replies” 是否可以缓存或类似机制?它看起来总是在每次页面刷新时获取信息。

我遇到了同样的问题。它以前肯定是有序的,而且我似乎无法为此列表使用 order 参数。

感谢您的确认,我还以为是我的错觉

曾经有一个bug,只在某些情况下才会出现,例如,如果一个单日期的事件被添加在一个多日期的事件之后。所以大多数情况下,它是正常工作的,但有时,就像在你的截图中一样,它会在同一个月内显示 313 之前。

一旦合并,这将修复它:FIX: Correctly order events in upcoming events list by pmusaraj · Pull Request #34526 · discourse/discourse · GitHub

2 个赞

谢谢你,佩纳!你真是太棒了,竟然能找到这么一个难以发现的bug。

后来日期改变,它又能正常工作时,我还以为自己疯了 :zany_face:

2 个赞

一个小的最小化游戏化排行榜技巧:

我想在侧边栏排行榜的标题中添加一个后缀——例如 YR、MO、QTR——以指示它显示的时间范围(基于游戏化中设置的默认周期):

image

但是侧边栏直接从游戏化中的排行榜标题获取该块标题。从主菜单访问的完整排行榜可以显示多个日期范围,因此我不想在标题中添加后缀:

我通过一些自定义 CSS 来定位侧边栏中的排行榜块,从而实现了这一点:

.leaderboard h3::after {
  content: " - QTR";
}

(当然,如果我更改默认排行榜周期,我将不得不编辑 CSS——但这应该很少见。)

@nat @tshenry

要在所有 /tag/ 页面上显示侧边栏,我需要在“在路由中显示”中输入什么?

另外,更棒的是,我如何获取任何页面的路由?

example

您指的是哪种页面?

谢谢!任何页面都可以,当然。

是的,哈哈,我需要知道您在考虑哪些页面,这样我才能告诉您需要填写什么。我认为并非所有页面都受支持。下面是一个很好的列表:

例如,所有类别和所有主题。

如果它不受支持,我可以很容易地通过尝试来检查——问题是,你怎么知道类别页面是 discovery.categories,或者所有标签页面是 tag.show?我如何自己获取这个路由值,或者至少查看完整的路由列表?

我会将此用作一种列表:https://github.com/discourse/discourse/blob/main/frontend/discourse/app/routes/app-route-map.js。尽管我不太确定这是您所要求的列表类型。

2 个赞

这有点复杂。它大部分以 discovery 开头的原因是侧边栏被插入到核心应用中 discovery 路由的一个出口中:

然后,对每个页面都会进行一个检查,以确定是否应该显示这些区块:

这些“路由”是 ember 路由。@Moin 查看该文件是正确的,因此您可以从中了解例如:

  • discovery.categories
  • discovery.hot
  • discovery.unread
  • discovery.latest

等等。但我上面引用的示例是此 TC 最有用的主要路由。

1 个赞

谢谢各位。是的,这很不用户友好,但我可以自己研究一下 :slight_smile:

该主题组件仅用于在有主题列表的地方显示。

Screenshot 2025-12-20 at 3.08.57 AM

所以我觉得描述中的列表实际上就是我们所能得到的一切。

desc

2 个赞

我通常会将路由记录到控制台。你可以使用我个人使用的简单主题组件来实现这个目的:Manuel Kostka / Discourse / Helpers / Development · GitLab