CSS personalizzato in base ai ruoli/gruppi utente

Sto cercando di capire se è possibile personalizzare il CSS in base ai ruoli o ai gruppi degli utenti?

Ad esempio, voglio nascondere le statistiche sul numero di argomenti nella pagina principale, ci sono riuscito abbastanza facilmente aggiungendo

.topics {
    display: none;

al CSS del tema.

Tuttavia, quello che voglio davvero fare è nascondere questo per tutti tranne che per Amministratori e Moderatori, voglio che questo venga visualizzato per il gruppo Amministratori e per il gruppo Moderatori.

È possibile determinare se l’utente appartiene a un gruppo ai fini della personalizzazione del CSS?

Se installi questo componente tema, puoi selezionare gruppi di utenti con CSS:

in questo modo:

body.group-<il-tuo-nome-gruppo> .some-page-element-class {
    display: none;
}

senza il componente, puoi anche usare:

.something {
  display: none;
}
.staff .something {
   display: block;
}
5 Mi Piace

Per amministratori e moderatori viene aggiunta di default una classe staff al corpo del documento. Quindi, se è tutto ciò di cui hai bisogno, puoi semplicemente usare body.staff “out-of-the-box”.

2 Mi Piace

Grazie, è fantastico. Come riferimento, quali altri gruppi CSS possono essere indirizzati in CSS nativamente (oltre a staff)? C’è qualcosa per gli utenti anonimi (non registrati) o per gli amministratori (senza moderatori)?

.anon sono tutti gli utenti anonimi. Non credo che .admins o .moderators funzionino a meno che non si installi il componente. Non è molto codice e può essere facilmente aggiunto anche ad un altro componente. Faccio questo con i miei componenti a tema correlati in modo che le persone non debbano installare entrambi. Ciò che è fantastico di quel componente CSS di gruppo è che consente anche di indirizzare i livelli di fiducia.

Puoi vedere come uso .staff e .anon in uno dei miei componenti a tema qui.

1 Mi Piace

Ottimo, grazie. Mi chiedo se nella pagina del componente del tema possa essere elencato l’insieme dei nomi standard di gruppo/ruolo/fiducia a cui si può accedere (che sono integrati in Discourse), sarebbe un’ottima e pronta riferimento. O se puoi elencarli qui se li conosci.

Se installi il componente css di gruppo, puoi usare tutti i gruppi predefiniti e i livelli di fiducia nella pagina admin-users-groups così come qualsiasi gruppo personalizzato che crei.

2 Mi Piace

Grazie. Questo è ottimo per me.

1 Mi Piace