Est-il possible d’ajouter des colonnes supplémentaires aux listes d’utilisateurs dans les groupes ? J’ai un plugin auquel j’essaie d’ajouter des fonctionnalités, qui ajoute une colonne à la liste des utilisateurs dans les groupes indiquant si un utilisateur est Actif, Suspendu, Muselé ou Désactivé. Il semble que le modèle Handlebars group-index et le contrôleur group-index soient ce que je dois cibler pour cela, mais il n’y a pas de point de sortie de plugin, donc je me demande quelle serait la bonne façon d’ajouter une nouvelle colonne, si cela est possible. Je suis nouveau dans le développement de Discourse, donc je pourrais manquer quelque chose ici, mais j’apprécierais grandement tout conseil. J’ai lu ces guides de développement qui sont d’excellentes ressources, mais je suis actuellement bloqué.
Bonjour, bienvenue sur meta ![]()
Vous pouvez utiliser les points d’insertion group-index-table-header-after-username et group-index-table-row-after-username pour insérer un en-tête/une ligne à côté de la colonne du nom d’utilisateur.
Par exemple :
Pour l’en-tête, vous pouvez utiliser le composant TableHeaderToggle.
Pour la ligne, vous pouvez utiliser par exemple <div class="directory-table__cell directory-table__cell--status">{{this.args.member}}</div> – vous pouvez accéder aux données avec {{this.args.member}}
Vous devrez corriger le CSS de la grille pour inclure une nouvelle colonne.
.group-members--can-manage {
grid-template-columns: 3fr repeat(5, minmax(min-content, 1fr)) 3em;
^
}
Si vous souhaitez déplacer la colonne, le positionnement est un peu délicat à cause de display: contents ; cependant, l’utilisation de order peut fonctionner.
Par ailleurs, vous pourriez avoir des problèmes pour obtenir le statut de l’utilisateur. Lors de mes tests, les données n’étaient pas reflétées dans member avec un utilisateur suspendu ou réduit au silence (silencedTillDate ou suspendedTillDate sont indéfinis). Je ne suis pas sûr qu’il y ait un bug ici. Je n’ai pas creusé davantage, pour l’instant !
J’espère que cela vous aidera.
Génial, merci ! Cela aide beaucoup. Je réalise maintenant que je ne voyais pas les sorties group-index-table-header-after-username et group-index-table-row-after-username parce que le site utilise une version obsolète de Discourse (2.7).
De rien ! 2.7 ! C’est assez vieux, en effet. ![]()
Par ailleurs, je vous encourage vivement à utiliser ce composant : (deprecated) Plugin outlet locations theme component. Super utile ! ![]()
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
