Option zum Ausblenden von Kategorien der 3. Ebene auf der Kategorien-Startseite ohne Layoutverlust

Das ist ein nachvollziehbarer Wunsch. Es kann schwierig sein, das Layout der /categories-Seite auszubalancieren, wenn es nur wenige Kategorien mit mehreren Ebenen von Unterkategorien gibt.

Wir möchten, dass modifyClass nicht mehr verwendet wird, da, wie du erwähnt hast, die Pflege solcher Overrides einen gewissen Entwicklungsaufwand mit sich bringen kann.

Wir haben inzwischen neuere Anpassungsmethoden, mit denen wir arbeiten können und die sich leichter stabil halten lassen. In diesem Fall kann ein Value-Transformer helfen. Ich habe gerade einen hinzugefügt, der bald in Updates verfügbar sein wird: DEV: Add a category-list-subcategories value transformer - Pull Request #42804 - discourse/discourse - GitHub

Die einfache Demo sieht ungefähr so aus:

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

Dies zeigt nur eine Ebene von Unterkategorien an. Mit dem Transformer stehen jetzt weitere Optionen zur Verfügung, daher habe ich ein Theme-Component zusammengestellt, das wir pflegen können, um diese zu unterstützen.

Sobald Discourse aktualisiert wurde, kannst du dies installieren, um zu steuern, wie viele Unterkategorien auf /categories und einigen anderen Kategorielisten angezeigt werden:

Setze Categories page depth auf 2, um alle Enkelkategorien auszublenden.

2 „Gefällt mir“