您好,我将对此进行更新,因为我对此问题的调查中发生了一些变化。自更新到 3.0.4 版以来,该问题仍然存在;所有新创建的文章在显示嵌入的 Discourse 代码时都存在问题。在此更新之前创建的所有文章都没有问题,因此这不是 IP 地址阻止导致的问题。
看起来 Discourse 在最新版本中更改了嵌入代码自动创建帖子的逻辑,因此现在新代码需要规范 URL。请参阅之前链接的主题:
但是,这完全破坏了我网站上的嵌入功能。我之前在 Drupal 中使用节点 ID 进行嵌入,如下面的代码所示:
discourseEmbedUrl = "http://sitename.com/node/' . $nid . '";
这个新的 Discourse 代码要求改用规范 URL,如果有人简单地重命名文章标题,就会导致创建重复的主题。这就是我使用节点 ID 的原因,因为它不会改变。
是否可以将这个新的规范 URL 设为可选?我尝试更改我的嵌入代码以使用它,但使用旧嵌入代码创建的所有帖子的加载问题又回来了。
因此,目前,在我的生产网站上运行新的 Discourse 代码,我被困在这两个选项之一:
- Drupal 上新创建的文章显示“正在加载…”但从未加载评论嵌入块;在 Discourse 3.0.4 之前创建的旧文章可以正常加载
或者,
- Drupal 上新创建的文章可以正常加载评论嵌入块,但所有在 Discourse 3.0.4 之前创建的旧文章都显示“正在加载…”但从未加载评论嵌入块
有没有办法让这个新功能成为可选的?必须在这两个选项之间做出选择,这让我陷入了进退两难的境地。