Estoy tratando de averiguar si es posible personalizar el CSS según los roles o grupos de usuarios.
Por ejemplo, quiero ocultar las estadísticas del número de temas en la página principal, pude hacerlo con relativa facilidad agregando
.topics {
display: none;
al CSS del tema.
Sin embargo, lo que realmente quiero hacer es ocultar esto para todos excepto para los administradores y moderadores, quiero que esto aparezca para el grupo de administradores y el grupo de moderadores.
¿Es posible determinar si el usuario pertenece a un grupo para fines de personalización de CSS?
Para administradores y moderadores, se añade una clase staff al cuerpo del documento por defecto. Así que si eso es todo lo que necesitas, puedes usar body.staff directamente.
Gracias, eso es genial. Como referencia, ¿qué otros grupos de CSS se pueden abordar de forma nativa en CSS (aparte de staff)? ¿Algo para usuarios anónimos (no registrados) o administradores (sin moderadores)?
.anon son todos los usuarios anónimos. No creo que .admins o .moderators funcionen a menos que instales el componente. No es mucho código y se puede agregar fácilmente a otro componente. Hago esto con mis componentes de tema relacionados para que las personas no tengan que instalar ambos. Lo genial de ese componente CSS de grupo es que también permite apuntar a los niveles de confianza.
Puedes ver cómo uso .staff y .anon en uno de mis componentes de tema aquí.
Genial, gracias. Me pregunto si en la página del componente temático se puede enumerar el conjunto de nombres estándar de grupo/rol/confianza a los que se puede acceder (que vienen integrados en Discourse), sería una gran referencia lista para usar. O si puedes enumerarlos aquí si los conoces.
Si instala el componente css de grupo, puede usar todos los grupos predeterminados y niveles de confianza en la página admin-users-groups, así como cualquier grupo personalizado que cree.