Groupes de catégories

:discourse2: Summary Category Groups allows you to assign categories to groups, which are then used to sort and collapse categories on the categories page.
:eyeglasses: Preview Preview on Discourse Theme Creator
:hammer_and_wrench: Repository Link https://github.com/discourse/discourse-category-groups-component
:open_book: New to Discourse Themes? Beginner’s guide to using Discourse Themes

Install this theme component

Features

:information_source: Important things to note:

  • This theme component only works with the site setting desktop category page style set to boxes with subcategories (as it replaces that category page template).

  • The category collapsing works using your browser’s local storage, so the collapsed state will not be remembered between different devices.

Settings

Name Description
category groups This is how the groups are configured. Format as: Group name: category-slug, extra-link-id, category-slug-2 (The category slug is the name of the category as it’s seen in URLs. Usually all lowercase with no spaces)
extra links Extra links that can be mixed into category list. Add link ID in category_groups setting to render
show on mobile Show the collapsible category box groups on mobile
show ungrouped Display a group of categories that aren’t assigned to another group
fancy styling Turn on additional styling (These are some custom styles added. They stray from our defaults, so if you’re working on your own theme you may want to disable this)
hide muted subcategories When enabled, a non-muted parent category will not appear under the muted section if it has a muted subcategory
Theme Translations Default
ungrouped_categories_title Other

:discourse2: Hosted by us? Theme components are available to use on our Pro, Business and Enterprise plans.

Last edited by @tobiaseigen 2025-06-24T03:16:42Z

Check documentPerform check on document:
53 « J'aime »

Je viens de fusionner un refactoring de ce composant. La fonctionnalité devrait globalement rester la même, avec quelques corrections de bugs.

En coulisses, cela utilise un Ember modernisé et élimine les remplacements de modèles, ce qui peut être un peu fragile en ce qui concerne les personnalisations de Discourse.

Cela devrait être corrigé maintenant.

C’est corrigé maintenant, les groupes ne s’appliqueront plus aux mises en page des sous-catégories.

J’ai mis à jour cela, donc les logos de catégorie devraient maintenant avoir une taille beaucoup plus normale.

6 « J'aime »

Est-il possible de ne pas afficher les sous-catégories pour une catégorie particulière ? Nous avons une catégorie qui est organisée d’une manière particulière avec des sous-catégories imbriquées et cela rend la boîte assez grande.

2 « J'aime »

Essayez peut-être le Category Hider dans Theme component

2 « J'aime »

Pouvez-vous me dire s’il est possible d’appliquer les regroupements de catégories à la barre latérale ? Sinon, j’aimerais soumettre une demande de fonctionnalité. Merci !

1 « J'aime »


Il y a un problème sur mon site web, les sous-catégories n’ont pas d’espace entre elles.

2 « J'aime »

Merci d’avoir signalé le problème, une mise à jour devrait maintenant le résoudre (corrigé dans UX: include gap for subcategories by awesomerobot · Pull Request #19 · discourse/discourse-category-groups-component · GitHub).

2 « J'aime »

Ce n’est pas possible, la barre latérale nécessiterait un changement plus important dans Discourse pour permettre cela (demande notée !)

2 « J'aime »

Ce serait génial si ce regroupement pouvait être personnalisable par l’utilisateur, certaines personnes de notre communauté le souhaitaient.

Oui, cela nécessite un plugin, mais une bonne idée je pense

Une idée de pourquoi la largeur de la catégorie est si étroite ? Y a-t-il un moyen de résoudre ce problème ?

2 « J'aime »

Est-ce que c’est dans le thème Mint ? J’ai juste fait une petite mise à jour qui devrait résoudre le problème — il y avait un léger conflit entre le CSS de ce thème et ce composant.

3 « J'aime »

Oui, c’était la menthe, merci

2 « J'aime »

Comment puis-je empêcher les boîtes d’être bordées par la couleur de la catégorie ? J’ai essayé de le forker, d’ajouter du CSS, et aussi de changer le style <li> dans le fichier categories-groups.hbs

(Notez que je suis un amateur, pas un développeur formé)

3 « J'aime »

Vous pouvez ajouter un peu de CSS à votre thème pour supprimer les bordures colorées :

.category-boxes .category-box {
  border-left: 2px solid var(--primary-low) !important;
}

ou si vous avez activé le paramètre « style fantaisiste » :

.custom-categories-groups .category-box {
    border: 2px solid var(--primary-low) !important;
}

1 « J'aime »

Merci Kris,

Il semble que j’aie un problème plus important. Pour une raison quelconque, chaque fois que j’essaie de mettre à jour le composant Thème, il ne prend pas du tout en compte les modifications. Donc mon css était bon, il n’était juste pas chargé. Ce n’est pas quelque chose pour ce fil de discussion, je vais chercher pour voir s’il y a quelque chose de stupide que je fais.

1 « J'aime »

Serait-il possible d’avoir les boîtes de style sophistiquées avec une section “Derniers” sous les catégories ? En substance, je veux faire la même chose que le composant « Catégories modernes + boîtes de groupe » dans le thème Air. Vous pouvez sélectionner Catégories avec Derniers pour la vue de bureau et les derniers s’affichent sous les catégories.

J’essaie de modifier ma propre version du CSS mais je ne suis pas un expert. Serait-ce une chose facile à faire ou pourrait-elle être hors de mes compétences ?

1 « J'aime »

J’ai ce cas d’utilisation, où nous avons de nombreuses catégories et sous-catégories activées, et elles rendent la page de destination très encombrée, difficile à trouver ce qui intéresse l’utilisateur.

Pour cette raison, nous voulons personnaliser la page de destination des groupes de catégories afin qu’elle soit plus ciblée pour les utilisateurs dans des domaines d’intérêt spécifiques (via les groupes d’utilisateurs).

Je propose donc d’ajouter une option de visibilité pour chaque groupe de catégories. Si une option est définie, le groupe de catégories ne sera visible que pour les groupes d’utilisateurs activés dans ses paramètres.

J’ai donc créé une pull-request pour démontrer ce que je veux dire par tout cela. S’il vous plaît, faites-moi savoir ce que vous pensez de cette option. L’utiliseriez-vous ? S’applique-t-elle à votre site Discourse ?

p.s. Cette nouvelle option proposée ne doit pas être considérée comme un contrôle d’accès alternatif. Elle contrôle simplement quels groupes de catégories seront visibles pour l’utilisateur connecté en fonction de son appartenance à des groupes. Les autorisations existantes resteront en vigueur.

1 « J'aime »

Il semble ne plus s’afficher après les dernières mises à jour de Discourse, une mise à jour de ce TC pourrait être nécessaire pour qu’il fonctionne.

Je me demande pourquoi ce style n’est pas activé sur mobile avec l’option de catégories par défaut ?

Ils sont magnifiques avec le composant !