Opção para ocultar categorias de 3º nível na página inicial de categorias sem perder o layout

Esse é um pedido razoável; pode ser difícil equilibrar o layout da página /categories quando há apenas algumas categorias com múltiplos níveis de subcategorias.

Realmente não queremos mais que as pessoas usem modifyClass, porque, como você mencionou, manter esse tipo de sobrescrita pode exigir algum esforço de desenvolvimento.

Agora temos alguns métodos mais novos de personalização com os quais podemos trabalhar e que são mais fáceis de manter estáveis. Neste caso, um transformador de valores pode ajudar. Acabei de adicionar um aqui que estará disponível nas atualizações em breve: DEV: Add a category-list-subcategories value transformer - Pull Request #42804 - discourse/discourse - GitHub

A demonstração simples é algo como isso:

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

Isso exibirá apenas um nível de subcategorias. Existem outras opções disponíveis usando o transformador agora, por isso criei um componente de tema que podemos manter para suportá-las.

Então, assim que o Discourse for atualizado, você pode instalar isso para controlar quantas subcategorias são exibidas em /categories e em algumas outras listas de categorias:

Defina Categories page depth para 2 para ocultar todas as categorias netas.

2 curtidas