Discourse mit external_id einbetten

Hallo zusammen,

ich migriere meine Community zu Discourse. Ich habe viele bestehende Inhalte in meiner aktuellen Community. Es scheint, dass die Javascript-Einbettungsoption eine praktikable Möglichkeit ist, Themen und Kommentare auf den Seiten meiner Website anzuzeigen.

Um die Community-Inhalte nach der Migration zu Discourse mit der richtigen Seite verknüpfen zu können, erwäge ich die Verwendung der external_id-Eigenschaft.

Ich kann die property_id für jedes Thema programmatisch über die API festlegen, aber ich weiß nicht, wie ich sie im eingebetteten Code verwenden kann.

Ich habe Folgendes versucht:

<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>

aber es funktioniert nicht.

Gibt es noch etwas anderes, das ich versuchen kann?

Haben Sie das geklärt? Ich muss dasselbe mit der external_id erreichen, aber ich glaube nicht, dass wir den Variablennamen richtig haben.

Um ein bestimmtes Thema einzubetten, ist die Variable „topicId“. Ich habe „externalId“ versucht, aber noch nichts gefunden, das funktioniert.

Ich glaube, dass das, was Sie zu tun versuchen, hier umrissen ist: Embed Discourse comments on another website via Javascript

Das wäre nützlich für den Fall, dass Sie vorhandene Beiträge von einer externen Website mit vorhandenen Discourse-Themen verknüpfen möchten. Dieser Code müsste zu jedem der externen Beiträge hinzugefügt werden, die Sie mit Discourse verknüpfen möchten. Für jeden Beitrag müssten Sie den Parameter topicId auf die ID des Discourse-Themas setzen, mit dem Sie verknüpfen möchten.

Wenn dies das Problem für Sie nicht löst, können Sie dann detaillierter erklären, was Sie zu tun versuchen?

Ich habe es in einen eigenen Thread aufgeteilt, was hoffentlich mehr Sinn ergibt: