Creando un banner que solo 1 grupo puede ver, mientras que los otros grupos no

Escribí sobre esto en el Tema del plugin Versatile Banner, pero me di cuenta de que podría funcionar mejor como una publicación propia, así que aquí está:

Gracias por la fantástica herramienta.
Estoy muy cerca de crear lo que necesito. No sé si alguien tiene alguna idea, o si esto podría implementarse en Versatile Banner.

Este es el banner que creé

Sin embargo, solo quiero que esto aparezca para las personas de mi grupo de Discourse “trial”. No necesito que mis miembros de pago vean este banner en absoluto, por eso escribí

Si ya eres miembro, puedes cerrar este mensaje

Sin embargo, esa sigue siendo una solución defectuosa.

Otro problema es que el enlace del botón “Más información” es un enlace privado para los miembros en “Modo de prueba”, ya que los miembros de pago no tienen acceso al grupo al que dirige el enlace al usuario.

Tampoco querría que los miembros de prueba pudieran cerrar el banner (solo quiero que los miembros de pago puedan cerrarlo).

¿Alguien conoce alguna solución alternativa que pueda hacer para que el banner solo aparezca a los miembros del grupo de prueba?

Me encantaría encontrar una solución con Versatile Banners, ya que se ve genial, ¡pero estoy abierto a otras ideas!

¡Gracias!

Mi CSS está mejorando, aunque todavía es rudimentario :slightly_smiling_face:, pero creo que podrías hacer algo como esto siempre que el grupo Trial estuviera configurado como su grupo principal:

.banner-box {
	display: none;
}

.primary-group-trial {
   .banner-box {
       display: initial;
   }
}

Así que la primera parte lo oculta a todos, y la segunda lo muestra a los miembros con el grupo ‘trial’ como su grupo principal.

1 me gusta

¡Muchas gracias! Experimentaré con ello.

Desafortunadamente, tengo configurado otro grupo primario para algunos usuarios. ¿Crees que el grupo primario es la única forma? ¿No hay manera de hacer que funcione siempre que alguien pertenezca al “grupo de prueba”?

Si debe ser primario, podría ser un sacrificio que tendré que hacer, ya que esta es una solución genial.

¡Muchas gracias!

@JammyDodger Olvidé por completo el hecho de que los usuarios sin cuenta también deben ver el banner.

En ese caso, ¿crees que hay una manera en que en lugar de mostrarlo solo al “grupo de prueba” en lugar de hacer que el CSS lo oculte solo del “grupo de miembros de pago”?

¡Eso sería increíble!

Parece que anon es una clase que también puedes usar allí. :+1: Así que podrías añadir algo como esto al final:

.anon {
   .banner-box {
       display: initial;
   }
}

Creo que he visto una forma de insertar una clase, aunque no es algo en lo que sea fluido. :slightly_smiling_face: Veré si puedo encontrar el tema en el que estoy pensando y comprobaré si lo he entendido correctamente.

¡Eso sería increíble, tu truco de CSS funcionó increíblemente bien! La única pieza que falta sería lograrlo sin primary-group, pero siempre y cuando alguien pertenezca a ese grupo.

1 me gusta

Este componente debería permitirle exponer grupos no primarios como clases de etiquetas body:

Creo que lo harías así:

body.group-trial {
   .banner-box {
       display: initial;
   }
}

Esto solo funcionará si los usuarios del grupo de prueba tienen permiso para al menos ver que el grupo existe.

2 Me gusta

¡Muchas gracias! Lo probaré, ¡podría ser la solución que necesito! ¡Gracias @tshenry y @JammyDodger por la increíble ayuda!

2 Me gusta