CSS personalizado basado en el rol/grupos de usuario

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?

Si instalas este componente de tema, puedes dirigir grupos de usuarios con CSS:

así:

body.group-<tu-nombre-de-grupo> .alguna-clase-de-elemento-de-pagina {
    display: none;
}

sin el componente, también puedes usar:

.algo {
  display: none;
}
.staff .algo {
   display: block;
}
5 Me gusta

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.

2 Me gusta

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í.

1 me gusta

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.

2 Me gusta

Gracias. Esto es genial para mí.

1 me gusta