自定义品牌标题主题组件

我正在尝试自定义 Discourse 的“品牌标题主题组件”。我不确定该采取什么方法。我想添加子菜单项,例如我的链接结构将如下所示:

video
audio - books
          - lectures,
topics - web development
           - technology
           - engineering
support

但是,此组件不提供添加子菜单项的标准选项。我知道有一个 Discourse Header Submenus 组件,它具有我想要的一些功能,但仅限于桌面模式。

据我所知,此组件中没有可用的插件插槽,因此我无法注入代码,而且我认为我无法覆盖模板,因为它不属于核心 Discourse 代码库,所以我认为我无法访问它(尽管它是由 Discourse 创建和维护的)。

链接将从 API 获取,但在此阶段我只是尝试对其进行硬编码。

更广泛地说——是否可以在核心 Discourse 存储库之外自定义主题组件?应该采取什么适当的方法?

感谢您的帮助!

1 个赞

您好 Harley,

是的,您可以通过分叉主题组件并在代码中根据您的需求进行更改来对其进行自定义。然后,您应该能够通过分叉的 GitHub URL 在您的实例上安装该组件。

感谢您的回复,Meghna!这太棒了,我已经开始着手了。不过,我在这个方法上遇到了一个问题——我尝试在我的 fork 主题组件中输入新设置(通过我的 Discourse 实例的主题组件管理面板),但原始主题组件中的设置仍然会传递到我自己的 fork 版本中。我可以看到有一个新组件在那里,但它的设置与旧组件相同。您认为这可能是因为它们具有相同的名称吗?我还尝试从我的主题中删除原始主题组件,但这会从我的主题预览中删除原始组件和 fork 组件。感谢您的帮助!