جلب بيانات طرف ثالث لقائمة المواضيع

مرحباً @Discourse،

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

بما أنني لا أعرف الكثير عن التخصيص في Discourse. أي نصيحة ستكون مفيدة جداً وسأكون ممتناً لها!

هل يمكن لأي شخص مساعدتي في حل هذه المشكلة؟

إذا كنت تستخدم مكون سمة “plugin outlets”، فسيُظهر لك أي منفذ يجب استخدامه لبناء التخصيص الخاص بك.

يبدو أنك تريد منفذ after-topic-list-item.

روابط لمزيد من مواضيع تطوير مكونات السمات

Developing Discourse Themes & Theme Components

Theme Developer Quick Reference Guide

Beginner's guide to using Discourse Themes

Developing Discourse Plugins - Part 1 - Create a basic plugin

إذا كنت تبحث عن مساعدة في التطوير لبناء هذا التخصيص، أقترح استخدام فئة Marketplace. :slight_smile:

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

شكراً @Lilly. في الواقع، أريد عرض بعض البيانات من واجهة برمجة تطبيقات طرف ثالث لكل موضوع، ولذلك أبحث عن طريقة لاستدعاء واجهة برمجة التطبيقات الطرف الثالث عند تحميل البيانات في صفحة القائمة.

لذلك، عندما يتم تحميل الصفحة، يجب أن أقوم باستدعاء واجهة برمجة التطبيقات، ثم أريد عرض البيانات. في الوقت الحالي، أقوم بجمع كل بيانات القائمة واستدعاء واجهة برمجة التطبيقات الطرف الثالث، وأي بيانات تأتي، أقوم بإلحاق تلك البيانات في DOM. لكنني أريد جلب البيانات عند التحميل الكسول لصفحة قائمة المواضيع.

هذه فكرة سيئة بشكل عام. إذا كان المضيف الذي يقدم الواجهة البرمجية للتطبيقات (API) بطيئًا، فسيكون منتداك بطيئًا. إذا كان المضيف الذي يقدم الواجهة البرمجية للتطبيقات (API) معطلاً، فسيكون منتداك معطلاً. إذا كان منتداك مثقلاً، فستكون الواجهة البرمجية للتطبيقات (API) مثقلة.
يجب عليك تحميل البيانات بشكل غير متزامن، على سبيل المثال في مهمة sidekiq، وتخزينها مع الموضوع.

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

شكراً @RGJ على الرسالة!

أعلم أنها فكرة سيئة ولكني جديد على discourse لذلك لم أكن أعرف الكثير عنها. الآن، سأبحث عن مهمة sidekiq كما تقترح.

لدي سؤال آخر. هل ستتمكن مهمة sidekiq من معرفة ما إذا كانت هناك بيانات جديدة قادمة لصفحة قائمة المواضيع؟ أم يجب أن أفعل شيئًا مختلفًا لإعلام المهمة بأن صفحة القائمة تقوم بتحميل المزيد من البيانات؟

شكراً لك!

لن تعرف مهمة Sidekiq ما إذا كانت قائمة الصفحات تقوم بتحميل المزيد من البيانات. إنها مستقلة.

ستقوم مهمة Sidekiq بتحميل البيانات بشكل دوري باستخدام واجهة برمجة التطبيقات (API) وتخزينها مع الموضوع.

بعد ذلك، عند تحميل قائمة الموضوعات، سيتم استرداد البيانات المخزنة. انظر إليها كآلية تخزين مؤقت.

3 إعجابات

حسناً.
شكراً جزيلاً @RGJ!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.