Option de masquer les catégories de 3e niveau sur la page d'accueil des catégories sans perdre la mise en page

C’est une demande raisonnable, car il peut être difficile d’équilibrer la mise en page de la page /categories lorsqu’il n’y a que quelques catégories avec plusieurs niveaux de sous-catégories.

Nous ne souhaitons vraiment plus que les gens utilisent modifyClass, car, comme vous l’avez mentionné, le maintien de ce type de surcharge peut demander un certain effort de développement.

Nous disposons désormais de méthodes de personnalisation plus récentes, plus faciles à maintenir stables. Dans ce cas, un transformateur de valeur peut aider. J’en viens d’ajouter un ici, qui sera disponible dans les prochaines mises à jour : DEV: Add a category-list-subcategories value transformer - Pull Request #42804 - discourse/discourse - GitHub

La démonstration simple ressemble à ceci :

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

Cela n’affichera qu’un seul niveau de sous-catégories. D’autres options sont désormais disponibles grâce au transformateur, j’ai donc créé un composant de thème que nous pouvons maintenir pour les prendre en charge.

Ainsi, une fois que Discourse sera mis à jour, vous pourrez l’installer pour contrôler le nombre de sous-catégories affichées sur /categories et sur d’autres listes de catégories :

Définissez Categories page depth sur 2 pour masquer toutes les sous-catégories de niveau arrière-petits-enfants.

2 « J'aime »