使用 external_id 嵌入 Discourse

大家好,

我正在将我的社区迁移到 Discourse。我的当前社区中有大量现有内容。看起来 Javascript 嵌入选项是展示主题和评论在我的网站页面上的可行方式。

为了能够在迁移到 Discourse 后将社区内容链接到正确的页面,我正在考虑使用 external_id 属性。

我可以通过 API 以编程方式为每个主题设置 property_id,但我不知道如何在嵌入式代码中使用它。

我尝试了以下方法:

<script type="text/javascript">
  DiscourseEmbed = {
    discourseUrl: 'https://discourse.mydomain.com/',
    external_id: "296645"
  };

  (function() {
    var d = document.createElement('script'); d.type = 'text/javascript'; d.async = true;
    d.src = DiscourseEmbed.discourseUrl + 'javascripts/embed.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(d);
  })();
</script>

但这不起作用。

我还有什么其他方法可以尝试吗?

您弄清楚了吗?我也需要用 external_id 来完成同样的事情,但我不认为我们使用的变量名是正确的。

要嵌入特定主题,变量是 topicId。我尝试过 externalId,但没有找到可行的。

我认为您想做的事情概述在这里:https://meta.discourse.org/t/embed-discourse-comments-on-another-website-via-javascript/31963#alternate-configuration-linking-to-existing-topics-6

这对于您想将外部网站上现有的帖子链接到现有的 Discourse 主题的情况会很有用。该代码需要添加到您想链接到 Discourse 的每个外部帖子中。对于每个帖子,您需要将 topicId 参数设置为您想链接到的 Discourse 主题的 ID。

如果这不能解决您的问题,您能否更详细地解释您想做什么?

我将其分到了一个单独的线程中,希望这样更易于理解: