تضمين تعليقات Discourse على موقع آخر عبر JavaScript

I believe this is possible now. The embed_url property can be set when you first create the topic. Our WordPress plugin does that here: wp-discourse/lib/discourse-publish.php at main · discourse/wp-discourse · GitHub. The embed_url property cannot be updated via the API after the topic has been created.

3 إعجابات

That’s fantastic! Looks like the API docs need to be updated then!

What would it take to get the property added to the update API method? That would let me solve this properly.

4 إعجابات

مرحباً، لقد كنت أواجه صعوبة في ربط المشاركات على مدونتي بمشاركات المنتدى باستخدام هذه الطريقة. يبدو أن لدي مشاكل مشابهة لبعض المستخدمين الآخرين هنا مع سياسة أمان المحتوى الخاصة بالإطارات المضمنة. مدونتي تم إنشاؤها بواسطة Jekyll ويتم استضافتها بواسطة github ومنتدى Discourse الخاص بي مستضاف بواسطة Digital Ocean. عناوينهم هي blendertube . com و forum.blendertube . com على التوالي.

هذا هو الخطأ الذي تم الإبلاغ عنه في متصفحي:

تم رفض تأطير ‘forum.blendertube.com/’ لأن السلف ينتهك توجيه سياسة أمان المحتوى التالي: “frame-ancestors ‘self’ blendertube.com”.

هل لهذا علاقة بـ ssl لمثيل Discourse الخاص بي؟

هذه بعض لقطات الشاشة:

آمل أن تتمكنوا من المساعدة. شكراً!

إعجاب واحد (1)

ها هي لقطة شاشة أخرى:

إعجاب واحد (1)

هل لدى أي شخص فكرة عن الصيغة التي سيتم بها استبدال “current_page.url” بعنوان URL لصفحة منتج WordPress WooCommerce؟ نود القيام بذلك حتى لا نضطر إلى تخصيص التعليمات البرمجية لكل صفحة، ويمكننا تطبيقها بسهولة على جميع الصفحات.

لقد حاولت استبدال قيمة نطاقنا الخاصة لـ discourseEmbedUrl: 'http://eviltrout.com<%= current_page.url %> ولكن هذا لم يعمل على WP.

إعجاب واحد (1)

أعتقد أن ما قد نحتاجه هنا هو الوسم الجديد noindex, indexifembedded

تعديل اعتقد @codinghorror أن هذه كانت فكرة جيدة عندما ظهرت لحالة استخدام مماثلة (تضمين الموضوع)

إعجابَين (2)

لا يمكنني معرفة ما إذا كان هذا ممكنًا وكيف:\n\nعندما يكون المظهر الافتراضي لمثيل الخطاب هو داكن، كيف يمكن أن يكون المضمن فاتحًا؟\n\nإذا لم تكن متصفحاتي معطلة، فيبدو أن تطبيق @codinghorror هو كذلك. كيف يتم ذلك بطريقة أنيقة؟ :smiley:

إعجابَين (2)

ملاحظة إذا حاول أي شخص آخر القيام بذلك، فإن discourseEmbedUrl لم تعمل معي عند محاولة تضمين المواضيع مباشرة في دروس Thinkific LMS المقابلة، ولكن طريقة topicId عملت.

إعجاب واحد (1)

كنت أستخدم هذه الميزة لتضمين تعليقات Discourse في مدونتنا. لقد عملت بشكل جيد في البداية. لاحظت مؤخرًا أن المدونات الأحدث (أقل من عام :rofl:) تبدو وكأن بها مشكلة حيث لم يتم إنشاء الـ slug كما في هذه الحالة، مما يؤدي إلى رابط تشعبي غير صحيح.

تم تعيين طريقة إنشاء الـ slug إلى ascii، وتم تعيين المضيف المسموح به كـ www.gyandhan.com

<script type="text/javascript">
  DiscourseEmbed = { discourseUrl: 'https://discussions.gyandhan.com/',
                     discourseEmbedUrl: '<%= request.original_url.split('?').first %>' };

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

إعادة التأكيد على البديهي، ولكن المشكلة التي ألاحظها هي أن المواضيع التي تم إنشاؤها بواسطة التضمين لا تحتوي على الـ slug ولا العنوان. لست متأكدًا بعد سبب مواجهتي لهذه المشكلة.

إعجاب واحد (1)

أهلاً بالجميع، عذراً إذا كان هذا سؤالاً بسيطاً -

حسب ما أراه، فإن التجربة المضمنة تسمح فقط بقراءة بعض المشاركات في سلسلة، ولكن لا يمكن التفاعل معها داخل الموقع، صحيح؟ تعيدك إلى discourse عند محاولة تحميل المزيد من التعليقات / الرد أو النقر على ملف تعريف

هل هناك إصدار من التجربة المضمنة يعيش بالكامل على موقع طرف ثالث (ليس على discourse)؟

عندما يتغير موقعي بين الوضع الداكن والفاتح، كيف يمكنني إخطار الجزء المضمن لتغيير وضع الألوان؟

لقد قمت بتكوين المضيفين المسموح بهم للتضمين على النحو التالي


ولكن عندما أحاول إضافة فئة إلى جسم iframe، أجد أن iframe.contentDocument هو null، وإذا استخدمت document.getElementById("discourse-embed-frame").contentWindow.document، فإن الخطأ كما يلي:
image

كيف يمكنني توفير سلسلة نصية محددة في الموقع الذي يدمج iframe لـ Discourse لاستخدامها كعنوان (أو على الأقل كـ slug) للموضوع الذي تم إنشاؤه؟ لدي عناوين URL مضمنة مثل example.com/12345 مع محتوى نصي، وتنتهي المواضيع باستخدام كلمات من المحتوى، بينما أود استخدام “12345”.

ألا يقرأ الوسم <title> من المستند؟

حسناً، هذا منطقي. عناويني أكثر أناقة من “12345” وقد تتغير بمرور الوقت بينما يظل “12345” ثابتاً. لهذا السبب أود استخدام ذلك بدلاً من ذلك.

لقد اختبرت قليلاً: الماسح يأخذ بالفعل \u003ctitle\u003etext\u003c/title\u003e. تعيينه إلى \u003ctitle\u003e12345\u003c/title\u003e وتجاوزه للعملاء البشريين باستخدام بعض \u003cscript\u003edocument.title = \"fancy title\";\u003c/script\u003e في أسفل مستند HTML يعمل بشكل جيد. يستخدم الموضوع الذي تم إنشاؤه “12345” كعنوان وعنوان URL بينما يرى البشر عنوانًا لطيفًا في الصفحة التي يحدث فيها التضمين.

شكرا على التلميح!

إعجابَين (2)

أهلاً بالجميع،

أود أن أعرف ما إذا كان من الممكن جلب المشاركات من أي موضوع باستخدام #علامة؟
على سبيل المثال، على الموقع الرئيسي (غير Discourse) لدينا صفحة تُعرّف باسمها، لنسميها “عرضي” (/myshow)

في نفس الوقت، في مثيل Discourse الخاص بنا لدينا الكثير من المواضيع حول “العرض”، لديهم نفس علامة التصنيف #theshow ويمكن للناس التنقل فيها حسب المواسم أو الأحداث.
الفكرة هي أن نكون قادرين على جلب أحدث المشاركات من جميع المواضيع التي تحمل علامة #theshow. هل هذا ممكن؟

أقرب ما لدينا هو جلب جميع المواضيع مرتبة حسب النشاط تحت وسم معين، تحقق من Embedding a list of Discourse Topics in another site.

إعجابَين (2)

كيفية منع المنشور الأول في التعليقات المضمنة مثل مدونة جيف؟

تعديل: كنت أستخدم arivanandan/discourse-embed-complete: يتضمن المنشور الأول عند تضمين discourse :slightly_smiling_face:

ماذا لو أردت تضمين تعليقات مواضيع متعددة في صفحة واحدة؟ كيف يمكنني فعل ذلك؟