Ist es möglich, zusätzliche Spalten zu den Benutzerlisten in Gruppen hinzuzufügen? Ich versuche, einem Plugin eine Funktionalität hinzuzufügen, das eine Spalte zur Benutzerliste in Gruppen hinzufügt, die anzeigt, ob ein Benutzer aktiv, suspendiert, stummgeschaltet oder deaktiviert ist. Es sieht so aus, als ob die Handlebars-Vorlage group-index und der Controller group-index das sind, was ich für diese Aufgabe ansprechen muss, aber es gibt keinen Plugin-Outlet, daher frage ich mich, wie der richtige Weg wäre, eine neue Spalte hinzuzufügen, falls dies möglich ist. Ich bin neu in der Discourse-Entwicklung, daher könnte ich hier etwas übersehen, aber ich würde mich sehr über Tipps freuen. Ich habe diese Entwicklungsleitfäden gelesen, die großartige Ressourcen sind, aber ich stecke derzeit fest.
Hallo, willkommen bei Meta ![]()
Sie können die group-index-table-header-after-username- und group-index-table-row-after-username-Outlets verwenden, um eine Kopfzeile/Zeile neben der Benutzernamen-Spalte einzufügen.
Zum Beispiel:
Für die Kopfzeile können Sie die TableHeaderToggle-Komponente verwenden.
Für die Zeile können Sie zum Beispiel <div>{{this.args.member}}</div> verwenden – Sie können auf Daten mit {{this.args.member}} zugreifen.
Sie müssen das Grid-CSS korrigieren, um eine neue Spalte einzufügen.
.group-members--can-manage {
grid-template-columns: 3fr repeat(5, minmax(min-content, 1fr)) 3em;
^
}
Wenn Sie die Spalte verschieben möchten, ist die Positionierung aufgrund von display: contents etwas knifflig. Die Verwendung von order kann jedoch funktionieren.
Nebenbei bemerkt, haben Sie möglicherweise Probleme, den Status des Benutzers zu erhalten. In meinen Tests wurden die Daten in member bei gesperrten oder stummgeschalteten Benutzern nicht reflektiert (silencedTillDate oder suspendedTillDate sind undefiniert). Ich bin mir nicht sicher, ob hier ein Fehler vorliegt. Ich habe vorerst nicht weiter nachgeforscht!
Ich hoffe, das hilft.
Großartig, danke! Das hilft sehr. Mir wird jetzt klar, dass ich die group-index-table-header-after-username- und group-index-table-row-after-username-Outlets nicht gesehen habe, weil die Website eine veraltete Version von Discourse (2.7) verwendet.
Gern geschehen! 2.7! Das ist in der Tat ziemlich alt. ![]()
Nebenbei bemerkt, würde ich Ihnen dringend empfehlen, diese Komponente zu verwenden: (deprecated) Plugin outlet locations theme component. Super nützlich! ![]()
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
