它们似乎工作正常,但设置上有一个点表示它们被覆盖了?
有人知道这是怎么回事吗?
另外,我尝试搜索“自定义标题链接”,但找不到提到此问题的帖子。
我认为你更改了该设置。因此,你已覆盖默认值,这非常有可能,因为该设置的目的就是如此。默认值更像是一个示例,因为你使用主题组件来添加自定义链接。使用重置按钮,你可以将设置恢复为默认值。
这很奇怪
当我第一次查看我的网站时,它有新的链接(外部、热门、隐私),但我的链接仍然在字段中。
我点击了重置,丢失了我的自定义链接配置。
幸运的是,我保存了每个链接的文本并重新添加了它们,删除了新链接。
算了。软件很奇怪。
我还对这一点感到困惑。实际上,settings 变量名已更改,请参阅 DEV: Rename `Custom_header_links` settings to `custom_header_links` (… · discourse/discourse-custom-header-links@5006125 · GitHub
@tgxworld 主题组件的最新更新存在一个 bug。它使用迁移重命名设置,但此时 原始设置名称已被重命名,位于 settings.yml 中。因此,迁移将无法工作,因为它无法再访问旧设置。这类迁移应分两步进行(并且,考虑到主题组件迁移的工作方式,中间需要有大量时间)
因此,所有更新此主题组件的用户都将丢失他们的设置。
FWIW 我认为如果你重新保存设置而不是重置它,那么一切都会好起来的。
据我所知,这只在单独在 GUI 中更新主题组件时才有效,而不是在 TC 作为更大更新(即 rake 任务)的一部分进行更新时才有效。
我认为如果你更新整个网站,注意到链接现在是默认的,然后重新保存 custom header links 主题设置,它就会生效。
不过,很容易不这样做而按重置。![]()
这对我来说奏效了。我花了好一会儿才弄清楚是怎么回事,因为设置看起来是正确的。我通过从我的默认主题中删除主题组件来修复它(因为它实际上让网站变得更糟),并注意到它在使用另一个主题时现在正在工作。
我很高兴修复如此简单,但我很震惊在更新 Discourse 后发现链接被更改了。 ![]()
我们 从数据库中提取被覆盖的主题设置,数据库存储了设置的键,因此 settings.yml 中的内容根本不会影响迁移。我在这里怀疑的是,我们没有清除缓存?
这并非我们预期的设计。由于我们无法控制主题的更新方式,因此我们无法进行分两步的迁移。
我们的迁移系统最近出现了一个回归问题,即在运行主题迁移后,主题的缓存未得到更新。此问题已在以下链接中修复:
所以这是不正确的,因为设置实际上并未丢失,只是缓存使用了设置的默认值,而不是数据库中的覆盖值。
感谢您的解释和迅速采取的行动。
更新 Easy Footer 组件后,我也遇到了同样的问题。前端和后端 UI 中的所有自定义设置都消失了。
这给社区经理带来了很大的困扰。如果他们随后在后端点击“重置”,则需要花费很长时间才能重新设置所有设置,Footer 组件比 Header 链接更耗时。
看起来我们认为这是核心中的一个问题,该问题已在合并上述 PR 后得到修复。
您知道他们在更新主题组件时运行的是哪个版本的 Discourse(提交)吗?
是的,我正准备编辑我的帖子。这发生在最新的稳定分支 3.2 上。我想它也应该在稳定版上修复,否则所有对组件设置的更改都需要固定到更高的版本?
是的,@tgxworld 让我们考虑一下哪种方法最适合稳定(回溯核心修复或对使用设置迁移的组件施加一些兼容性限制)。
@manuel 你安装的提交哈希是什么?
哦,是的,我的错,没更新这个服务器!抱歉各位,这只是在暂存环境,但有客户联系我,问为什么都重置了。