هل توجد طريقة لـ “إخفاء” الفئات الفرعية من قوائم المواضيع وعرض الفئات الرئيسية أسفل عنوان الموضوع بدلاً منها؟
النتيجة المرجوة هي فئة رئيسية تحتوي على n فئة فرعية. لا يُفترض عرض هذه الفئات الفرعية في الواجهة الأمامية. تُستخدم فقط لتقييد الوصول إلى المنشورات بناءً على عضوية المجموعة.
أود عرض الفئة الرئيسية أسفل عنوان الموضوع في قائمة المواضيع بدلاً من الفئة الفرعية.
فكرت في استخدام الوسوم، لكن للأسف لا يمكنني تقييد الوصول إلى المواضيع بهذه الطريقة.
ولكن إذا كنت تريد حدوث ذلك فقط لفئة أب محددة، فستحتاج إلى إضافة المزيد من المنطق. لا أعرف ما هو الأسلوب الموصى به للقيام بذلك، هل هو تسجيل دالة مساعدة في Handlebars؟
يمكن أن تكون هناك طريقة أخرى وهي عرض روابط الفئة والفئة الأب دائمًا، ثم إخفاء الروابط غير المرغوب فيها باستخدام CSS.
بشكل عام، يجب عليك تجنب تجاوز القوالب بالكامل لأنها تتطلب صيانة - حيث ستحتاج إلى مقارنة الاختلافات والتحقق مما تغير إذا كسر تحديث لـ Discourse موضوعك.
ما يمكنك فعله هو التراجع خطوة وتعديل البيانات التي يتم تمريرها إلى القالب بدلاً من ذلك.
topic-list-item هو مكون Ember، لذا يمكنك استخدام api.modifyClass لإجراء التغييرات التي تريدها.
على سبيل المثال، إليك مقتطفًا سيعرض شارة الفئة الرئيسية في مواضيع الفئات الفرعية تحت العنوان. إذا كان الموضوع في الفئة الرئيسية، فلن يكون للكود أي تأثير.
لقد قمت بتعديل المقطع أعلاه ليعكس هذا التغيير. كل ما عليك فعله هو إضافة معرفات الفئة الأصلية إلى مصفوفة targetCategoryIds. يمكنك العثور على معرف الفئة بزيارة صفحة الفئة والتحقق من عنوان URL.
https://meta.discourse.org/c/support/6
الرقم “6” في نهاية عنوان URL أعلاه هو معرف فئة الدعم هنا في ميتا.
@Johani أين بالضبط يجب أن أضع هذا المقطع البرمجي؟
لقد حاولت وضعه داخل وسم </head> وفي جزء الرأس (header) لمكوّن السمة الذي أحتفظ فيه بكل ملفات CSS الخاصة بي. لكن قائمة المواضيع تُقطع بالضبط في المكان الذي يُفترض أن تُعرض فيه أول موضوع متأثر من الفئة الفرعية.