Fakebook 主题

我不这么认为……通常我可以创建一个使用单一模板的组件,然后在两个覆盖中都包含该组件……但我们的主题列表项是一种专为性能设计的特殊模板类型(hbr = handlebars 原始模板),而原始模板无法使用组件。(此前在 Mounting widget in raw template? - #7 by angus 中有相关讨论)

Discourse 的 CSS 结构正是如此(某些特殊 HTML 文件如页眉/页脚等也遵循此结构),但在 javascripts/discourse/templates 目录中,这些模板是对 Discourse 默认模板的直接覆盖(如果没有覆盖,则使用默认模板)。

在 Discourse 中有两个模板:/templates/list/topic-list-item.hbr/templates/mobile/list/topic-list-item.hbr。因此,既然有两个模板,我们就需要两个覆盖。

也许在 JS 中有一种简单的方法可以将移动端指向非移动端模板……但如果有的话,我目前并不了解!

1 个赞