العلامات في أعلى قائمة المواضيع في فئة

يا جماعة،

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

يمكنني تحقيق ذلك تقريبًا باستخدام: Discourse Popular Tag Sidebar

سأرى ما يمكنني تعلمه.

يمكنك الحصول على top_tags بسهولة:

استورد ajax – import { ajax } from \"discourse/lib/ajax\"; ، ثم →

ajax(`/c/general.json`).then((data) => {
  console.log(data.topic_list.top_tags);
});

هذه هي فئة general؛ يمكنك استبدالها بمتغير أو إعداد مكون سمة.

إذا كنت ترغب في عرض جميع العلامات دون تصفية حسب الفئة، استخدم /tags.json.

لاستخدام المنفذ أعلاه قائمة المواضيع، اسم المنفذ هو /javascripts/discourse/connectors/above-main-container/{name-of-your-file}.hbs. أوصي بالاطلاع على كيفية القيام بذلك في مكونات السمات الأخرى وقراءة Using Plugin Outlet Connectors from a Theme or Plugin.


الأصعب هو الحصول على جميع العلامات. يمكنك إلقاء نظرة على بنية البيانات من /c/general.json، والتي تبدو كالتالي. بدلاً من استخدام data.topic_list.top_tags، يمكنك تكرار كل عنصر في data.topic_list.topics وإضافة كل tags لكل topic إلى مصفوفة. data.topic_list.topics.map((topic) => topic.tags);.

آمل أن يساعد هذا! :slight_smile: