webleads-tracker

[Résolu] Intégration : comment récupérer le nom d'un groupe client ou groupe admin ?

Manuel [Medialibs]
Avatar
Les balises Mx sont vraiment utiles décidément et au quotidien. Voici un post sur l'utilisation de la balise :
<mx:user content="group"/>


Cette balise permet de faire remonter côté site public le nom d'un groupe client ou admin définit dans le manage, super pratique n'est-ce pas!

Prenons un exemple type :

Pour contextualiser le lien imprimer en fonction du groupe admin et dans la fiche d'un produit du catalogue, voici la démarche à suivre :

Dans le template product.html il suffit de rajouter ces lignes :


 
<!-- Bouton imprimer la fiche en fonction du groupe admin -->
 
<div id="imprimer"> <!-- on masque en css cet élément pour l'internaute (sans groupe) -->
<mx:bloc id="manage">
  <span class="<mx: user content="group"/>"> <!-- on récupère le nom du groupe et applique un css dessus -->
   <mx:print title="imprimer" content="Imprimer la page" />
  </span>
 
  </mx:bloc id="manage">
</div>


Pour des raisons liées au BBcode la balise mx à utiliser est bien définie de la sorte sans espace entre le mx: et le user
<mx:user content="group"/>


Et voici les css associés :

#imprimer{ /* Pour l'utilisateur lambda */
text-indent:-2000px;  /* On décale le texte pour le masquer */
}
 
.LeNomDuGroupeAdmin{ /* On indique ici le nom du groupe admin */
position:absolute;
text-indent:2000px; /* On décale le texte pour le remettre à sa place*/
}
 


N'hésitez pas à tester cette fonctionnalité, d'autre css peuvent être envisageable. Par exemple peut être avec du display none et display block
Formateur web [Medialibs]

Erwan
Bonjour,

Je souhaite mettre en place un menu pour les visiteurs non identifiés et un autre pour ceux connectés.

Le problème c'est qu'une personne non inscrite n'est pas identifiée et n'appartient donc pas à un groupe.

Il faudrait pouvoir comme pour les widgets pouvoir afficher une rubrique pour les visiteurs non identifiés seulement.

Pour quoi nous n'avons pas cette fonctionnalité.

Manuel [Medialibs]
Avatar
Salut Erwan,

Dans ce cas utilises directement l'identifiant ou la classe css associée. Tu pourrais aussi rajouter une classe en jQuery, histoire de contextualiser les menus.

Exemple concret avec le menu "visiteurs connectés" :

*Partie HTML :
   <mx:bloc id="manage">
    <span class="<mx: user content="group"/>"> <!-- on récupère le nom du groupe et applique un css dessus -->
       <div id="nested" class="user-connected"><!-- on masque en css cet élément pour les internautes sans groupe -->
         ...
       </div>
    </span>
  </mx:bloc id="manage">


* Partie CSS :

 #nested { /*Menu masqué pour les visiteurs non connectés */
  display:none;
}
 
 .nomGroupeAdmin #nested { /*Menu visible pour les visiteurs connectés */
  display:block;
}
 


Inversement pour l'autre menu. Vois-tu le truc ?
Formateur web [Medialibs]

Erwan
Autant pour moi j'ai mal lu.

Merci pour ton aide.



Manuel [Medialibs]
Avatar
Peut-être en ajoutant une classe CSS spécifique au menu "visiteurs non-connectés". Je pense que cela peut se gérer, qu'en penses-tu ? Est-ce que tes tests sont concluants ?
Formateur web [Medialibs]

Erwan
Non ce n'est pas très concluant :)

Manuel [Medialibs]
Avatar
Ok, nous avons vu ça par téléphone ce matin. Il faut bien penser à respecter la syntaxe suivante : <mx:user content="group"/>

NB: Le bloc manage n'est pas obligatoire, une contextualisation de la sorte permet de récupérer le nom du groupe client/admin :

<div class="<mx:user content="group"/>">
   <div id="nested"></div>
</div>
Formateur web [Medialibs]

Erwan
Merci pour ton aide !

David
Avatar
Salut Manuel,

Je déterre ce sujet car je rencontre un soucis sur le site www.rockstation.fr.

Ce site propose un accès Particulier et un accès Professionnel. Les prix sont donc différents en fonction des groupes des membres.

Je souhaite effectuer une promotion sur une famille de produits :
Si cette promo concerne uniquement le groupe "Professionnel" je sélectionne bien le groupe en question et la réduction s'affiche correctement.
Si par contre je veux mettre en place une promotion pour les "Particuliers", celle-ci ne s'affichera que lorsqu'un client sera connecté sur le site. Ce qui veut dire que tous les visiteurs n'ayant pas de compte sur le site ou qui ne sont pas connectés ne peuvent bénéficier de la promo.

La deuxième solution serait de ne sélectionner aucun groupe pour la promotion mais de ce fait elle serait visible par tout le monde y compris par le groupe "Professionnel".

Je suis donc dans l'impasse sur ce point.

As-tu une idée ?

Merci d'avance.

Patrick
Bonjour,
j'ai tenté de faire monter le groupe du client dans la Notification Administrateur d'une nouvelle commande, mais rien ne s'affiche... Une astuce existe-t'elle ?
Merci

Manuel [Medialibs]
Avatar
Bonjour Patrick,

Si rien ne s'affiche c'est que le contexte n'a pas était prévu initialement... Du coup ça serait effectivement intéressant d'étudier cette option pour répondre à votre besoin. Je vous invite à utiliser votre interface webo-facto pour faire une demande de prestation, ainsi vous aurez le retour sur la faisabilité.

Merci,
Bonne journée
Formateur web [Medialibs]

Patrick
Bonjour,
J'ai un autre souci avec le <mx:user content="group"/> : lorsque j'ai un utilisateur qui est sur plusieurs groupes, la balise est retournée vide de tout contenu...
Existerait-t'il une autre balise pour afficher une liste de groupes apparentés?

Patrick
Au temps pour moi : après avoir quitté le navigateur et m'être reloggé, les différents groupes apparaissent bien, séparés par une virgule.
Réglé ;-)