您好!
我有一个远程主题,并希望覆盖 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 与团队核实!
david
(David Taylor)
4
您好 @kaden-stytch - 侧边栏和 Discourse 的其他一些部分正在使用一种更现代的模板处理方法(Ember 的 Colocated Component Templates)。目前我们没有办法让它们被主题/插件覆盖,但这在我待办事项列表上,我会改进它。
一旦我们有了解决方案,我会通知您。希望能在未来几周内完成。
4 个赞
david
(David Taylor)
5
@kaden-stytch 在最新版本的 Discourse 中,现在可以覆盖“colocated”组件模板。我在这里写了一些关于模板覆盖的文档:
请务必阅读顶部的警告并了解风险。在我看来,覆盖侧边栏模板目前风险尤其高,因为这是 Discourse 中我们正在积极开发/重构的领域。
3 个赞
system
(system)
关闭
7
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.