关于自定义关于页面功能与旧的js.about.contact_info文本混合的问题

更新到最新的 Discourse Version 3.4.0.beta3-dev (d853b5384b) 后,在使用新的 自定义关于页面 功能时遇到了问题。我已确认截至今天没有可用的进一步更新。主要问题如下:

问题详情:

  1. 混合内容:当我尝试使用新的自定义功能更新“关于”页面时,新内容并未完全替换旧的 js.about.contact_info 文本。相反,它与旧文本合并,导致“关于”页面上显示混乱的旧文本和新文本。
  2. 编辑站点文本:我无法在 /admin/customize/site_texts?overridden=true&q= 中编辑被覆盖的站点文本。当我尝试访问此页面时,会遇到一个错误页面,提示“发生错误”。
  3. 开发者控制台错误
    • TypeError:“无法读取 null 的属性(读取 ‘find’)”,位于 admin-site-text-edit.js:19:1
    • OneSignal SDK 错误:来自 ExecutorBase.js:89 的重复 updateSubscription: subscriptionId is not defined 错误,这可能相关也可能无关。

我已采取的步骤:

  • 更新到最新可用版本(3.4.0.beta3-dev d853b5384b)。
  • 刷新浏览器并清除缓存。
  • 检查开发者控制台中的错误(详情见上文)。
  • 出于隐私原因,无法分享网站 URL。

请求协助:

是否有办法在不干扰先前自定义的 js.about.contact_info 文本的情况下,充分利用新的“自定义关于页面”功能?此外,是否有修复或解决阻止访问被覆盖站点文本的错误的方法?

感谢您对此问题的任何帮助!

3 个赞

我有点难以理解您的问题并重现它。您的意思是您之前已经更改了 js.about.contact_info 文本,现在更新后尝试更改文本时出现错误?

当页面上出现错误消息时,您能否查看网络浏览器的开发者控制台,看看那里是否显示了更多详细信息?

3 个赞

@tobiaseigen @Reezy

是的,我之前修改过 js.about.contact_info 文本,在最近一次更新后,我发现当我尝试用新内容自定义“关于”页面时,它并没有完全覆盖旧的 js.about.contact_info 文本。相反,旧文本仍然存在并与新内容混合,造成显示问题。

此外,我在界面上没有收到具体的错误消息。但是,当尝试编辑 /admin/customize/site_texts?overridden=true&q= 中的覆盖文本时,我会看到一个错误页面(“出了点问题”)。我检查了开发者控制台,这是我观察到的:

我在 Chrome 的开发者控制台中检查了,发现了以下内容:

  • TypeError:我在 admin-site-text-edit.js:19:1 中看到一个“Cannot read properties of null (reading ‘find’)”错误。这似乎表明在访问 site_textssetupController 函数存在问题。

这个问题似乎阻止了新的自定义功能完全替换“关于”部分中的旧文本。如果您希望我捕获控制台中的特定详细信息,或者有其他我可以提供以帮助解决此问题的信息,请告诉我!

1 个赞

好的,谢谢!我们会对此进行调查,看看是否存在 bug。

您是否知道有两条网站文本可能会影响“关于我们”页面上的“联系我们”部分?还有 js.about.report_inappropriate_content 网站文本。

3 个赞

谢谢你的指导,Tobias。

是的,我知道其他的 js.about 网站文本,但我的主要问题是使用新的自定义关于页面功能。由于之前在 /admin/customize/site_texts 中修改了 js.about.contact_info 文本,我无法完全更新联系信息。

当我尝试使用新的自定义功能更新联系人部分时,新文本不会替换旧的 js.about.contact_info 内容。相反,它与旧文本混合在一起,导致关于页面显示混乱。

我将非常感谢你对如何解决此问题的任何见解,以便我能够充分利用新的自定义关于页面功能。谢谢!

3 个赞

感谢您提供详细的报告!已将所有内容移至同一主题。

不幸的是,我仍然无法重现此问题,即使是在一个我尚未更新的站点上,因此我可以在更新之前自定义此站点文本。

您能否在安全模式下尝试上述步骤,看看是否仍然发生?您能否尝试在不同的网页浏览器中进行操作,以防您遇到浏览器插件冲突?

3 个赞

您能提供此问题的屏幕截图吗?这将有助于我们理解问题。

1 个赞

@tobiaseigen@Osama

感谢您的建议。以下是我到目前为止尝试过的方法:

  1. 安全模式:我启用了安全模式,但遇到了同样的问题。我还尝试了 Chrome 的访客模式、新配置文件,甚至在没有插件的智能手机上进行测试——没有任何改变。

  2. 主要问题 - 自定义关于页面问题

    • 当我尝试使用编辑此页面功能更新关于页面website.com/about)上的“联系我们”部分时,它没有显示我在联系信息部分(website.com/admin/config/about)中添加的信息。
    • 具体来说,联系信息部分中的社区所有者联系电子邮件联系网址等字段均未显示在关于页面上的“联系我们”列中。相反,它显示了旧的 js.about.contact_info 文本与新输入内容的混合,导致结果混乱。
  3. 次要问题 - 站点文本编辑错误

    • 当我尝试通过 /admin/customize/site_texts?q= 访问和编辑任何文本时,我会看到一个错误页面(“发生了一些错误”)。
    • 我之前在这里自定义了一些文本,但现在无法再编辑它们了。正如屏幕截图和 GIF 所示,过去在此处进行的自定义也可能干扰当前设置。

观察总结
似乎联系信息website.com/admin/config/about)和站点文本website.com/admin/customize/site_texts?q=)配置存在冲突。这种冲突导致关于页面上的“联系我们”部分显示混合内容,而不是显示“自定义关于页面”新功能中的预期更新。

感谢您提供任何进一步的见解或解决方案!

在你发布的截图中,我没有看到任何“混乱”的地方。我需要一张你看到的“混乱”结果的截图,这样我们才能弄清楚问题所在。

你在浏览器控制台或 /logs 中看到任何错误吗?

混乱的部分显示了我客户的网站网址,所以我无法展示。

我不是开发人员……



抱歉,这变得越来越困难!

您的网站区域设置为 en_uk 吗?您可以尝试将其更改为 en_us,看看是否能解决问题?

js.about.contact_info 网站文本的内容是什么?它似乎是空的,但当我尝试在我的网站上清空该字段时,我会收到验证错误。

我无法更改它;下拉菜单没有显示出来。

website.com/admin/site_settings/category/required?filter=locale

它不是空的;里面有内容;我的客户更改了内容,现在无法编辑,因为出现“重试”错误。

1 个赞

这是错误页面在控制台中显示的内容。

There is definitely something weird going on with your locales. You should have en_us and en_uk available as options. en is not even an option in Discourse!

What do you have set for the following three settings?

If you enabled allow user locale then what is the locale you have set in your own preferences? Maybe try disabling that setting to see if you can narrow down the problem that way.

If you have made changes to the default locales available in core discourse, then it is going to be hard for us to support you.
[/quote]

你的区域设置肯定有些奇怪。你应该有 en_usen_uk 可供选择。en 在 Discourse 中甚至都不是一个选项!

你为以下三个设置设置了什么?

如果你启用了 allow user locale,那么你在自己的偏好设置中设置的区域是什么?也许可以尝试禁用该设置,看看是否能以此方式缩小问题范围。

如果你更改了核心 Discourse 中可用的默认区域设置,那么我们将很难为你提供支持。

1 个赞

@TheBaby5 你的网站出了严重问题——你网站上可用的区域设置列表是空的,这导致了很多问题。你是在运行受支持的安装吗?你有没有安装非官方插件?

2 个赞

/u/user/preferences/interface 没有可用的选项


是的,没错!现在该怎么办? :fearful:

,


这个?

我的意思是:您是否按照官方安装指南设置了您的网站?

多语言插件很可能是罪魁祸首,尝试卸载它,看看地区问题是否消失。

4 个赞

是的,我是官方安装的。

它现在已禁用;我明天会使用 Putty 移除插件 git 行,然后在此处向大家更新。

2 个赞

当然,现在离题了,但当 app.yml 中设置了区域设置时,这是真的吗?

1 个赞

问题已解决。非常感谢!多语言插件确实是罪魁祸首;我只是删除了它,一切都恢复正常了。

4 个赞