Créer une bannière visible par un seul groupe, tandis que les autres groupes ne la voient pas

J’en ai parlé dans le Sujet du plugin Versatile Banner mais j’ai réalisé que cela pourrait mieux fonctionner comme un article distinct, alors le voici :

Merci pour cet outil génial.
Je suis sur le point de créer ce dont j’ai besoin. Je ne sais pas si quelqu’un a des idées, ou si cela pourrait être implémenté dans Versatile Banner.

Voici la bannière que j’ai créée :

Cependant, je ne veux que cette bannière apparaisse aux personnes de mon groupe Discourse « trial » ; je n’ai pas besoin que mes membres payants voient cette bannière du tout, c’est pourquoi j’ai écrit :

Si vous êtes déjà membre, vous pouvez fermer ce message

Cependant, cela reste une solution imparfaite.

Un autre problème est que le lien du bouton « En savoir plus » est un lien privé pour les membres en « Mode d’essai », car les membres payants n’ont pas accès au groupe où ce lien mène l’utilisateur.

De plus, je ne voudrais pas que les membres d’essai puissent fermer la bannière (je veux seulement que les membres payants puissent la fermer).

Quelqu’un connaît-il des solutions de contournement que je pourrais utiliser pour que la bannière n’apparaisse qu’aux membres du groupe d’essai ?

J’adorerais trouver une solution avec Versatile Banners, car il est très beau, mais je suis ouvert à d’autres idées !

Merci !

Mon CSS s’améliore, bien qu’encore rudimentaire :slightly_smiling_face:, mais je pense que vous pourriez faire quelque chose comme ceci tant que le groupe Trial était défini comme leur groupe principal :

.banner-box {
	display: none;
}

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

Ainsi, la première partie le masque à tout le monde, et la seconde le montre ensuite aux membres dont le groupe « trial » est leur groupe principal.

1 « J'aime »

Merci beaucoup ! Je vais expérimenter avec ça

Malheureusement, j’ai déjà un groupe principal configuré pour certains utilisateurs. Pensez-vous que le groupe principal est la seule façon ? N’y a-t-il aucun moyen de faire en sorte que quelqu’un appartienne simplement au « groupe d’essai »

Si cela doit être le groupe principal, ce pourrait être un sacrifice que je devrai faire car c’est une solution de génie

Merci beaucoup

@JammyDodger J’ai totalement oublié le fait que j’ai aussi besoin que les utilisateurs sans compte voient la bannière.

Dans ce cas, pensez-vous qu’il existe un moyen où, au lieu de ne montrer qu’au « groupe d’essai »
au lieu de rendre le CSS de telle sorte qu’il soit uniquement masqué du « groupe de membres payants »

Ce serait incroyable !

Il semble que anon soit une classe que vous pouvez également utiliser là. :+1: Vous pourriez donc ajouter quelque chose comme ceci en bas :

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

Je pense avoir vu un moyen d’insérer une classe, bien que ce ne soit pas quelque chose dans lequel je suis compétent. :slightly_smiling_face: Je vais voir si je peux trouver le sujet auquel je pense, et vérifier que je l’ai bien compris.

Ce serait incroyable, votre astuce CSS a incroyablement bien fonctionné ! la seule pièce manquante serait de l’obtenir sans primary-group, mais juste aussi longtemps que quelqu’un appartient à ce groupe.

1 « J'aime »

Ce composant devrait vous permettre d’exposer des groupes non primaires en tant que classes de balise body :

Je pense que vous feriez quelque chose comme :

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

Cela ne fonctionnera que si les utilisateurs du groupe d’essai ont l’autorisation de voir au moins que le groupe existe.

2 « J'aime »

Merci beaucoup, je vais essayer ça, ça pourrait être la solution dont j’ai besoin ! Merci @tshenry et @JammyDodger pour votre aide incroyable !

2 « J'aime »