أين يجب أن أذهب لضبط متغير البيئة `DISCOURSE_ENABLE_CORS`؟

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

أعتقد أنه يجب عليك تعيين
DISCOURSE_ENABLE_CORS: true
في ملف app.yml الخاص بك (في مكان ما في قسم env)

إعجابَين (2)

ألا ينبغي أن يقوم بتعيين المتغير DISCOURSE_ENABLE_CORS لـ discourse؟

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

لست متأكدًا مما تقوله، ولكن يرجى محاولة القيام بما تم اقتراحه. أنا متأكد من أنه يمكنك ببساطة تشغيل ./launcher destroy app;./launcher start app بدلاً من إعادة بناء كاملة.

3 إعجابات

شكراً على ردك. آسف لعدم الوضوح الكافي في رسالتي السابقة.

أنا أستخدم نسخة مستضافة من Discourse وسأقوم بتضمين Discourse في موقعي الإلكتروني، وعندما أحاول الحصول على كائن contentDoument الخاص بـ iframe الخاص بـ Discourse المضمن، وجدت حد الأصل المتقاطع. في صفحة إعدادات المسؤول، لاحظت وجود إعداد “cors origins” كما هو موضح في صورة الموضوع. ثم أضفت عنوان URL الخاص بالاختبار الخاص بي، ولكنه لم ينجح. ولاحظت التلميح الذي يقول يجب تعيين متغير البيئة DISCOURSE_ENABLE_CORS على true لتمكين CORS. ومع ذلك، لا يمكنني العثور على مكان لتعيين DISCOURSE_ENABLE_CORS في إعدادات المسؤول.
أريد أن أعرف كيفية تعيين DISCOURSE_ENABLE_CORS، أو إذا كان تكوين النطاق المتقاطع الخاص بي لا يعمل، فهل يرتبط بهذا الإعداد.

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

التضمين ليس من اختصاصي، ولكن أعتقد أنك ستقوم بتعيينه في /admin/customize/embedding بدلاً من تغيير متغير البيئة؟

4 إعجابات

شكراً على ردك. لقد جربت ذلك ولكنه لم ينجح.

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

إذا كنت تريد منا مساعدتك، فعليك شرح ما جربته بتفصيل.

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

هذا ما قمت بتكوينه في /admin/customize/embedding، ولكن لا فائدة من الاستخدام عبر المصادر.

لا أعتقد أنه يمكنك فعل ذلك.

هناك إعداد موقع مخفي يسمح بتضمين إطار iframe ولكني أشك في أنه غير متاح في الخطط القياسية أو خطط الأعمال. يمكنك الاتصال بجهة الاتصال الخاصة بالدعم لديك للسؤال.

تضمين Discourse في إطار iframe غير مدعوم رسميًا.

إعجابَين (2)

iframe تم إنشاؤه بواسطة نص برمجي رسمي. أستخدم الرموز المتوفرة في /admin/customize/embedding، كما هو موضح أدناه:


أحتاج إلى الحفاظ على الأجزاء المضمنة متسقة مع نمط الألوان الخاص بموقعي، لذلك يجب علي الوصول إلى iframe على الرغم من أن iframe لم يتم إنشاؤه بواسطتي.

@mikeguo ما هي المنصة للموقع الذي تحاول تضمين مواضيع Discourse فيه؟

على سبيل المثال، هل هو موقع Wordpress أم مدونة Ghost؟

يرجى تقديم عنوان URL لمنشور على الموقع الوجهة.

كل ما يمكنني رؤيته هو هذا (من لقطة الشاشة للكود في موضوعك أعلاه):

https://e53c-185-143-220-5.eu.ngrok.io/

لذلك، على سبيل المثال، استخدمت متغير البيئة ‘DISCOURSE_ENABLE_CORS’ كما هو موضح في هذا المنشور لعرض محتوى من منتدى Discourse الخاص بي على صفحة داخل مدونتي Ghost…

ومع ذلك، فإن الميزة التي يبدو أنك تحاول استخدامها من الكود الذي نشرته أعلاه هنا…

… يبدو أنها تشير إلى أنك تحاول تضمين مواضيع من منتدى Discourse الخاص بك كمنشورات داخل موقعك الخارجي، وهذا حالة استخدام مختلفة.

نحتاج منك أن تشرح بشكل أفضل ما الذي تحاول القيام به هنا…

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

شكراً جزيلاً على شرحك المفصل.
https://algo.monster هو موقعي الإلكتروني الذي أرغب في تضمين Discourse فيه. بالتحديد،
تضمين Discourse في صفحة المقال لعرض التعليقات، واستبدال Cusdis الذي أستخدمه حاليًا. على سبيل المثال،
المقال https://algo.monster/problems/math-basics، والتعليقات:


موقعي https://algo.monster لا يستخدم منصة تدوين، لا Wordpress ولا Ghost. موقعي مُنفذ بواسطة كودي الخاص وتم نشره على خادمي السحابي الخاص.
باستخدام الأكواد المقدمة في /admin/customize/embedding، يتم عرض Discourse المضمن بشكل صحيح.
المشكلة التي آمل حلها عن طريق تكوين DISCOURSE_ENABLE_CORS هي كما يلي:

عنوان URL هذا هو الذي أستخدمه للاختبار ولا ينبغي أن يسبب مشاكل الأصل المشترك.

شكراً @mikeguo – ماذا وضعت في مقتطف البرنامج النصي الخاص بك لـ discourseEmbedUrl حيث يقول ‘REPLACE_ME’؟

لربط المواضيع الموجودة بدلاً من إنشاء مواضيع تلقائيًا، استبدلت المعلمة discourseEmbedUrl بالمعلمة topicId، كما يلي:

شكراً لك مرة أخرى @mikeguo – أعتذر، لكن هذا تجاوز الآن قدرتي على المساعدة… آمل أن يتمكن شخص آخر هنا من تقديم المشورة…

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

شكراً لمساعدتك على أي حال :sparkling_heart:

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