Benutzerdefinierte CSS basierend auf Benutzerrollen/-gruppen

Ich versuche herauszufinden, ob es möglich ist, das CSS basierend auf Benutzerrollen oder -gruppen anzupassen?

Zum Beispiel möchte ich die Anzahl der Themenstatistiken auf der Hauptseite ausblenden. Das ist mir relativ einfach gelungen, indem ich Folgendes hinzugefügt habe:

.topics {
    display: none;

zum Theme-CSS.

Was ich jedoch wirklich tun möchte, ist, dies für alle außer Administratoren und Moderatoren auszublenden. Ich möchte, dass dies für die Gruppe „Admins“ und die Gruppe „Moderatoren“ angezeigt wird.

Ist es möglich, zu CSS-Anpassungszwecken festzustellen, ob ein Benutzer zu einer Gruppe gehört?

Wenn Sie diese Theme-Komponente installieren, können Sie Benutzergruppen mit CSS ansprechen:

wie zum Beispiel:

body.group-your-group-name > .some-page-element-class {
    display: none;
}

Ohne die Komponente können Sie auch verwenden:

.something {
  display: none;
}
.staff .something {
   display: block;
}
5 „Gefällt mir“

Für Administratoren und Moderatoren wird standardmäßig eine staff-Klasse zum Dokumentkörper hinzugefügt. Wenn das alles ist, was Sie brauchen, können Sie einfach body.staff ohne zusätzliche Konfiguration verwenden.

2 „Gefällt mir“

Danke, das ist großartig. Was sind referenzhalber andere CSS-Gruppen, die in CSS nativ angesprochen werden können (außer staff)? Gibt es etwas für anonyme (nicht angemeldete) Benutzer oder Administratoren (ohne Moderatoren)?

.anon sind alle anonymen Benutzer. Ich glaube nicht, dass .admins oder .moderators funktionieren, es sei denn, Sie installieren die Komponente. Es ist nicht viel Code und kann leicht in eine andere Komponente integriert werden. Ich mache das mit meinen verwandten Theme-Komponenten, damit die Leute nicht beides installieren müssen. Das Tolle an dieser Gruppen-CSS-Komponente ist, dass sie auch das Ansprechen von Vertrauensstufen ermöglicht.

Sie können sehen, wie ich .staff und .anon in einer meiner Theme-Komponenten verwende hier.

1 „Gefällt mir“

Großartig, danke. Ich frage mich, ob auf der Seite der Themenkomponenten die Menge der standardmäßigen Gruppen-/Rollen-/Vertrauensnamen aufgelistet werden kann, die in Discourse integriert sind. Das wäre eine großartige Referenz. Oder wenn Sie sie hier auflisten können, wenn Sie sie kennen.

Wenn Sie die Gruppen-CSS-Komponente installieren, können Sie alle Standardgruppen und Vertrauensstufen auf der Seite admin-users-groups sowie alle von Ihnen erstellten benutzerdefinierten Gruppen verwenden.

2 „Gefällt mir“

Danke. Das ist großartig für mich.

1 „Gefällt mir“