从远程主题修改侧边栏模板

您好!
我有一个远程主题,并希望覆盖 components/sidebar/common/community-section 模板或组件。我尝试在我的远程主题中覆盖 handlebars 模板,路径为 /javascripts/discourse/sidebar/common/community-section.hbs,但这似乎不起作用。我也尝试使用 api.modifyClass(\"component:sidebar/common/community-section\", ...),但这似乎也没有注册。

为什么 handlebars 模板在此目录中而不是在 templates 目录中?您对如何修改此组件/模板有什么建议,或者我是否做错了什么?

2 个赞

我们正在努力将 Discourse 更新到最新版本的 Ember,其中一项新功能是模板共置(模板和相关的 JS 文件可以位于同一目录中)。

我认为正确的路径应该是 /javascripts/discourse/components/sidebar/common/community-section.hbs,但我刚刚测试了一下,对我来说也不起作用……我会与负责这些升级的团队进行双重确认。

哦,是的,这正是我尝试过的!感谢 Kris 与团队核实!

您好 @kaden-stytch - 侧边栏和 Discourse 的其他一些部分正在使用一种更现代的模板处理方法(Ember 的 Colocated Component Templates)。目前我们没有办法让它们被主题/插件覆盖,但这在我待办事项列表上,我会改进它。

一旦我们有了解决方案,我会通知您。希望能在未来几周内完成。

4 个赞

@kaden-stytch 在最新版本的 Discourse 中,现在可以覆盖“colocated”组件模板。我在这里写了一些关于模板覆盖的文档:

请务必阅读顶部的警告并了解风险。在我看来,覆盖侧边栏模板目前风险尤其高,因为这是 Discourse 中我们正在积极开发/重构的领域。

3 个赞

说得有道理!感谢大卫的更新 :slight_smile:

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.