37Rb
(Ryan)
1
升级到 3.4.0 后,我们的主题不再获取所选调色板的颜色定义。我看到一个 CSS 文件应该包含颜色定义,但在我们的主题处于活动状态时,该文件返回为空。
因此,没有颜色被设置,任何弹出窗口的背景颜色都是透明的,这使得网站无法使用。我们暂时改用默认的浅色主题作为解决方法。
我已经尝试了我能想到的一切。例如:
- 手动创建调色板
- 卸载并重新安装主题
- 在实时论坛和暂存论坛上进行大量试错
我们的主题是从 git 仓库安装的。在短暂的一段时间里,我们通过恢复一个旧的主题开发副本(不是来自 git 仓库)让论坛看起来不错,但下次我们重新启动 Discourse 时,它又会再次中断。
在暂存论坛上,当我卸载并重新安装主题时,似乎解决了问题。但在实时论坛上卸载并重新安装没有帮助。
当我切换到浅色或深色等默认主题时,调色板工作正常,我可以看到该 CSS 文件中定义的所有颜色。
可能是什么原因导致我们的主题的颜色定义返回为空?有什么修复它的想法吗?
37Rb
(Ryan)
2
这似乎是问题的潜在原因。我们的主题有一个存储关于页面内容的设置。我认为在更新到 Discourse 3.4.0 之前,我们没有 SCSS 编译错误。也许 sass 编译发生了一些变化,现在它更严格了?
但问题似乎发生在 Discourse 启动时。如果我只编辑该主题设置中的内容,则不会记录 SCSS 错误。如果我重新启动 Discourse,就会发生 SCSS 错误,颜色定义 CSS 文件会再次变为空。
这是主题中 hbs 文件里使用该设置的代码。设置中的内容只是 HTML。
<div class="about-description-content">
{{{theme-setting 'content_about_main'}}}
</div>
1 个赞
37Rb
(Ryan)
3
我已将 HTML 从主题设置移至 hbs 文件中,这似乎解决了问题。我不确定原因,但 Discourse 3.4.0 不喜欢将其放在主题设置中。
1 个赞
manuel
(Manuel Kostka)
4
您可能需要在此处添加一个助手:
{{html-safe (theme-setting 'content_about_main')}}
37Rb
(Ryan)
5
听起来很可能。有没有关于那个 html-safe 辅助函数的文档,我可以看看它的作用?我尝试用谷歌搜索,但找不到相关信息。
RGJ
(Richard - Communiteq)
6
1 个赞
37Rb
(Ryan)
7
啊,感谢你。我一直在查 handlebars 的文档,而不是 ember。
1 个赞
system
(system)
关闭
8
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.