إخفاء الفئات من المستوى الثالث في الصفحة الرئيسية للفئات دون فقدان التنسيق

هذا طلب معقول، إذ قد يكون من الصعب موازنة تخطيط صفحة /categories إذا كانت هناك فئات قليلة تحتوي على مستويات متعددة من الفئات الفرعية.

نحن لا نرغب حقًا في أن يستمر الأشخاص في استخدام modifyClass بعد الآن، لأنه، كما ذكرت، قد يتطلب الحفاظ على هذا النوع من التعديلات بعض الجهد التطويري.

لدينا الآن بعض الطرق الأحدث للتخصيص التي يمكننا العمل بها، وهي أسهل في الحفاظ على ثباتها. في هذه الحالة، يمكن أن يساعد محوّل القيمة (value transformer). لقد أضفتُ للتو محوّلًا هنا سيكون متاحًا قريبًا في التحديثات: DEV: Add a category-list-subcategories value transformer - Pull Request #42804 - discourse/discourse - GitHub

التجربة البسيطة تشبه ما يلي:

api.registerValueTransformer(
  "category-list-subcategories",
  ({ value, context }) =>
  context.page === "categories" && context.category.level >= 1 ? [] : value
);

هذا سيظهر مستوى واحد فقط من الفئات الفرعية. هناك خيارات أخرى متاحة باستخدام المحوّل الآن، لذا قمتُ بوضع مكوّن موضوع (theme component) يمكننا الحفاظ عليه لدعم هذه الخيارات.

لذلك، بمجرد تحديث Discourse، يمكنك تثبيت هذا المكوّن للتحكم في عدد الفئات الفرعية المعروضة في /categories وبعض قوائم الفئات الأخرى:

اضبط Categories page depth على 2 لإخفاء جميع فئات الأحفاد.

إعجابَين (2)