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?
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”.
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.
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.