تضمين Discourse باستخدام external_id

مرحباً بالجميع،

أقوم بترحيل مجتمعي إلى Discourse. لدي الكثير من المحتوى الحالي في مجتمعي الحالي. يبدو أن خيار تضمين Javascript هو طريقة قابلة للتطبيق لعرض المواضيع والتعليقات في صفحات موقعي.

لجعل من الممكن ربط محتوى المجتمع بعد ترحيله إلى Discourse بالصفحة الصحيحة، أفكر في استخدام خاصية external_id.

يمكنني تعيين معرف الخاصية لكل موضوع برمجيًا عبر واجهة برمجة التطبيقات، لكنني لا أعرف كيفية الاستفادة منه في الكود المضمن.

لقد جربت هذا:


  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);
  })();

لكنه لا يعمل.

هل هناك شيء آخر يمكنني تجربته؟

هل تم حل هذه المشكلة؟ أحتاج إلى تحقيق نفس الشيء باستخدام external_id ولكن لا أعتقد أن اسم المتغير لدينا صحيح.

لتضمين موضوع معين، المتغير هو “topicId”. لقد جربت “externalId” ولكنني لم أجد ما يصلح.

أعتقد أن ما تحاول القيام به موضح هنا \u003chttps://meta.discourse.org/t/embed-discourse-comments-on-another-website-via-javascript/31963#alternate-configuration-linking-to-existing-topics-6\u003e

سيكون هذا مفيدًا للحالة التي تريد فيها ربط مشاركات موجودة من موقع خارجي بمواضيع Discourse موجودة. ستحتاج إلى إضافة هذا الرمز إلى كل مشاركة من المشاركات الخارجية التي تريد ربطها بـ Discourse. لكل مشاركة، ستحتاج إلى تعيين المعلمة topicId إلى معرف موضوع Discourse الذي تريد ربطه.

إذا لم يحل هذا المشكلة لك، هل يمكنك شرح ما تحاول القيام به بمزيد من التفصيل؟

لقد قمت بفصلها إلى مؤشر ترابط خاص بها مما قد يجعل الأمر أكثر منطقية: