تضمين قائمة مواضيع Discourse في موقع آخر

لا أعتقد أن هذا ممكن. كود Discourse المستخدم لاسترجاع المواضيع يستخرج فقط قوائم المواضيع الأحدث. الفلاتر المتاحة التي أعرفها لترتيب القوائم هي: replies، views، activity، likes. يمكنك تجربة ترتيب القوائم باستخدام أحد هذه الفلاتر لاختيار أفضل المواضيع. على سبيل المثال:

<d-topics-list discourse-url="http://localhost:3000" category="14" per-page="5" order="replies"></d-topics-list>

الخط المستخدم داخل الـ iframe يتم ضبطه في Discourse. في أحدث إصدار من Discourse، أواجه مشكلة في ضبط الخط عند تضمين قائمة مواضيع في موقع WordPress الخاص بي. أنا أقوم باختبار هذا محليًا وليس على موقع إنتاجي، لذا قد يكون ذلك مرتبطًا بالمشكلة. ما ألاحظه هو أن النمط التالي يُمرَّر لضبط خط الـ iframe:

font-family: var(--font-family);

يتم تعيين هذا النمط في Discourse، لكن WordPress لا يملك وصولًا إلى المتغير، لذا يتم ضبط الخط على Times New Roman في موقعي. سأقوم بالبحث في هذه المشكلة أكثر. (تعديل: مشكلة ضبط الخط تعود إلى تغييرات حديثة في Discourse. سنقوم بإصلاح ذلك.)

قد يكون هذا أمرًا صعبًا. الـ iframe الذي يتم إنشاؤه يقع داخل عنصر d-topics-list الذي تضيفه إلى الصفحة. ضبط القيمة لعرض محدد في CSS لموقعي يعمل معي. أعتقد أنه يمكن تحسين ذلك:

d-topics-list iframe{
	width: 700px !important;
	margin-left: auto;
	margin-right: auto;
}
6 إعجابات

في الزاوية العلوية اليمنى من الإطار المضمن، يوجد رقم (مثل 110.5 مللي ثانية) يؤدي إلى رابط إلى /embed/topics. هل توجد أي طريقة للتخلص منه؟

تعديل: الإجابة هي أنه يُعرض فقط لـ “مطور Discourse”: What is this box at the upper left displaying timings in milliseconds when I am logged in as admin? :slight_smile:

7 إعجابات

مرحبًا! أحاول تضمين منشورات على موقع ووردبريس وقد نجحت في جعل التضمين يعمل. هل توجد طريقة لجعل العرض على الجوال أكثر جاذبية؟ إذا احتوت المنشورات على صور، فإن تخطيط الأعمدة مع الصور يصبح مضغوطًا معًا، ويمكن أن يحل هذا المشكلة كود بسيط مثل:

@media (max-width: 768px) {
	.topics-list .topic-list-item .topic-column-wrapper {
	    flex-direction: column;
	}
}

هل هناك إمكانية لتنفيذ شيء من هذا القبيل؟

تحياتي، إم

3 إعجابات

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

إعجابَين (2)

أوه، لم أكن أدرك أن هذا سيحمّل ملف CSS لثيم Discourse الخاص بي، دعني أجرب ذلك وأعود إليك!

إعجابَين (2)

هناك قسم مخصص للتضمين ضمن السمات لهذا الغرض!

4 إعجابات

مرحبًا، لقد قمت بالفعل بتضمين قائمة بالمواضيع على موقعي الإلكتروني، لكنني أحاول الآن عرض موضوع واحد فقط بناءً على الوسم. لقد نجحت في تضمين قائمة أخرى (مع تعيين per-page=1)، لكن المشكلة هي أنني لا أستطيع إضافة فئات CSS أو معرفات (IDs)، مما يعني أنه لا يوجد أي فرق بين القائمة الأولى وهذه القائمة.
هذا يعني أنه حتى أمر بسيط مثل استخدام لون خلفية مختلف لأحد القوائم المضمنة يصبح مستحيلًا.

هل توجد أي طريقة بديلة؟

أقدر مساعدتك حقًا.

إعجابَين (2)

شكرًا لك @eviltrout، إضافة هذا الكود إلى “Embedded CSS” حل المشكلة!

إعجابَين (2)

لا توجد حاليًا طريقة لإضافة قواعد CSS مختلفة إلى عناصر مضمنة مختلفة. يمكنك فقط إضافة تنسيق مخصص ينطبق على جميع العناصر المضمنة.

4 إعجابات

أواجه الخطأ التالي عند تضمين أحدث المواضيع هنا https://vceliquidrecipes.com/

includes.js?v=f8924c1fd3fbe1787f0bed5c8998b636:168 POST https://vapingcommunity.co.uk/mini-profiler-resources/results 404

(anonymous) @ includes.js?v=f8924c1fd3fbe1787f0bed5c8998b636:168
fetchResults @ includes.js?v=f8924c1fd3fbe1787f0bed5c8998b636:169
initPopupView @ includes.js?v=f8924c1fd3fbe1787f0bed5c8998b636:763
doInit @ includes.js?v=f8924c1fd3fbe1787f0bed5c8998b636:1050
sc.onload.sc.onreadystatechange @ includes.js?v=f8924c1fd3fbe1787f0bed5c8998b636:1065
load (async)
load @ includes.js?v=f8924c1fd3fbe1787f0bed5c8998b636:1061
init @ includes.js?v=f8924c1fd3fbe1787f0bed5c8998b636:1109
deferInit @ includes.js?v=f8924c1fd3fbe1787f0bed5c8998b636:1089
setTimeout (async)
deferInit @ includes.js?v=f8924c1fd3fbe1787f0bed5c8998b636:1085
init @ includes.js?v=f8924c1fd3fbe1787f0bed5c8998b636:1118
(anonymous) @ includes.js?v=f8924c1fd3fbe1787f0bed5c8998b636:1463

يبدو أن كود التضمين الخاص بي هو:

<d-topics-list discourse-url="https://vapingcommunity.co.uk" status="open" order="replies" per-page="10"></d-topics-list>
إعجابَين (2)

تلك الأخطاء تبدو وكأنها قادمة من Mini Profiler، وعلى الأرجح لا علاقة لها بما يراه المستخدم العادي. لقد زرت موقعك ورأيت قائمة بالمواضيع دون أي أخطاء.

4 إعجابات

أوه، إذن هل هذا طبيعي؟ سيظهر ذلك في السجلات، صحيح؟

إعجابَين (2)

لست متأكدًا مما إذا كان هذا أمرًا طبيعيًا، لكنه ليس سببًا للقلق. فمعظم المستخدمين ليس لديهم وصول إلى أداة MiniProfiler، لذا من المرجح أنها تظهر لك فقط لأنك تستخدمها.

3 إعجابات

حسنًا، شكرًا لك على مساعدتك، فهي تُقدَّر كثيرًا كما هو معتاد، استمر في العمل الرائع

إعجابَين (2)

تحياتنا، ونشكركم على جهودكم الكبيرة في هذا الشأن.

على متجري Firefox و Chrome، لا تعمل القائمة كما هو متوقع لدينا. فبالرغم من أننا قمنا بإعدادها لعرض 10 مواضيع، إلا أنها تظهر 4 فقط.

على Chrome، نلاحظ خطأ JavaScript هذا عند تضمين القائمة:

Uncaught DOMException: Failed to execute 'postMessage' on 'Window': Invalid target origin '' in a call to 'postMessage'.
    at u (https://rembetiko.gr/assets/embed-application-9cef8308c816fc1d83137e63d6c556c6cc2b68fe2b6e5ce16cca6766ba2c0ae4.js:1:105)
    at window.onload (https://rembetiko.gr/assets/embed-application-9cef8308c816fc1d83137e63d6c556c6cc2b68fe2b6e5ce16cca6766ba2c0ae4.js:1:515)

ومن المثير للاهتمام أن هذا لا يحدث على Safari.

تم تضمين القائمة على هذا الموقع: https://rebetiko.sealabs.net (في نهاية الصفحة، إذا أردتم تجربتها بأنفسكم).

4 إعجابات

هل يمكن لأي منكم تكرار هذه المشكلة؟ :slight_smile:

CC: @JimPas، @simon، @Vaping_Community

3 إعجابات

لديك 10 روابط مواضيع في الصفحة، ولكن 6 منها مخفية لسبب ما، ولا أعرف شيئًا عن هذا الخطأ.

إضافة ارتفاع إلى الـ iframe تعمل على إظهار روابط المواضيع المخفية

d-topics-list iframe {
    height: 380px;
    width: 700px !important;
    margin-left: auto;
    margin-right: auto;
}
4 إعجابات

واجهتُ أنا أيضًا مشكلةً مماثلة. في بعض الأحيان كان المظهر جيدًا، وفي أحيان أخرى كان قائمة المواضيع مقطوعةً (كما لو كان القرار مبنيًا على عدد البكسلات بدلاً من عدد المواضيع)، ولم يكن الخط كما هو متوقع (لا أستطيع تذكر التفاصيل). لقد انتقلتُ إلى استخدام تغذية RSS الخاصة بـ Discourse بدلاً من ذلك. أنا أستخدم متصفح Chrome فقط ولم أشتبه في أن المشكلة قد تكون خاصة بـ Chrome فقط.

3 إعجابات

مرحباً!

هل توجد طريقة لاستبعاد المواضيع من القائمة؟

إعجابَين (2)

ربما يمكنك استخدام الوسوم لذلك؟ قم بوسم المواضيع التي تريد ظهورها في القائمة وقم بالفرز بناءً عليها؟

5 إعجابات