Jump to content
Mattisa

Masquer div selon groupe client

Recommended Posts

Bonjour,

J'ai cherché sur le forum et sur le le net mais je n'ai pas trouvé d'information qui pourrai m'aider correctement.

Mon site comporte les trois groupes de client classique (visiteur, invité et client). J'ai ajouté un quatrième groupe nommé "SPA".

Sur la fiche de certain produit, je souhaite qu'une div , qui propose une réduction (que j'ai ajouté dans le code source du descriptif produit) ne soit plus visible pour le 4eme groupe de client. (celui ci ayant bénéficiant déjà de la remise. J'ai déjà géré les règles panier, me reste plus que ça.

Merci de votre aide !

Share this post


Link to post
Share on other sites

Bonjour,

donc un visiteurs qui n'est pas connecté mais qui appartient au groupe 4 lorsqu'il se connecte verra de toute manière l'information.

Share this post


Link to post
Share on other sites

oui c'est l'idée effectivement.

Actuellement, j'ai trouvé ceci pour récuperer l'ID :

    public function process()
{
    //On assigne la variable $cookie
    global $cookie;
    //On teste si le visiteur est client
    if($cookie->id_customer != 0){
        //On récupère la méthode pour trouver les groupes d'un client
        $Cgroups = Customer::getGroupsStatic($cookie->id_customer);
        //On teste chaque résultat du tableau
        foreach($Cgroups as $Cgroup){
            //Si le client appartient au groupe désiré (ici le groupe 4)
            if ($Cgroup != 4){
                //On créé la variable smarty qui servira de test
                $this->context->smarty->assign(array(
                    'groupe_teste' => '1',
                ));
                //On stoppe la boucle, plus besoin de continuer
                break;
            }
        }
    }
}

Je l'ai inséré dans le fichier : /www/classes/controller/FrontController.php

Dans ma page produit, dans la partie description courte, j'ai inséré une <div class="remise">

J'aimerai donc que tout le monde ai accès à cette div, sauf le groupe ayant l'ID 4. Je pense que je dois agir sur le fichier : product.tpl mais le problème c'est que je vois mal comment changer le texte de cette div (car il sera différent suivant les produits )..

Share this post


Link to post
Share on other sites
il y a 4 minutes, Mattisa a dit :

oui c'est l'idée effectivement.

Ok, vous n'avez donc rien compris à mes propos.

Je recommence.

Je suis client chez vous et je fais parti du groupe 4, j'arrive sur votre site à partir d'un ordinateur quelconque, je suis donc membre du groupe Visiteur aisin je profite de l'affichage de la Div m'indiquant la belle réduction possible, je m'empresse de notre ce code de réduction et je me connecte à mon compte, tiens étrange, l'information du code d réduction disparait, mais comme je ne doute de rien, je me précipite sur mon panier pour incrire le code de réduction et , oh miracle de la technologie, je peut tout à fait profiter de cette réduction mêm si je suis membre du groupe 4.

Donc, mas question est de savoir pourquoi vous souhaitez faire ce que vous demandez puisque cela ne sert à rien ?

Share this post


Link to post
Share on other sites

Moi, j'avais très bien compris ce que vous racontez donc prenez le temps de bien relire tout ce que j'ai pris le temps de votre raconter et peut être découvrirez vous l'absurdité de votre demande et que votre soucis n'est pas de savoir comment cacher une dif à un groupe de client mais bien comment empêcher les clients du Groupe 4 d'utiliser ce code de réduction !!!!

Share this post


Link to post
Share on other sites

Il ne peuvent pas l'utiliser car je l'ai configuré dans les conditions. C'est une règle panier donc aucun code promo à renseigner. Effectivement, je pourrais afficher quelque part que les client du groupe 4 ne peuvent profiter de cette promotion.. mais le sujet n'est pas là

Share this post


Link to post
Share on other sites

Mais si il n'y a pas de code à renseigner pour profiter de la réduction, tout le monde de concerné aura la réduction, donc l'information concerne juste de leur dire qu'ils ont la chance d'avoir une réduction ?

Share this post


Link to post
Share on other sites

Oui c'est ça C'est un petit texte qui leur indique une remise sur quantité que j'ai inscrit dans la div "remise".. cette div est directement codé dans la partie description courte dans le back office.. je ne l'ai pas mis dans le fichier tpl car certain produit doivent avoir un quantité différente pour profiter cette remise panier

Share this post


Link to post
Share on other sites

Ce que je ne veux pas c'est que cette div apparaissent pour le groupe 4 car ils ont déjà cette remise de validé.. si je laisse la div visible pour eux, cela pourrait effectivement laisser penser qu'ils peuvent en bénéficier en plus de celle qu'ils ont en tant que " SPA".

Share this post


Link to post
Share on other sites

Bonjour,

Pour ceux et celles que ça intéressent, j'ai trouvé une méthode simple.

J'ai ajouté un module qui permet d'avoir d'autres champs de saisie pour la description d'un produit. (lien du module gratuit : ici !)

Ensuite dans le template (pour mon cas  /www/themes/VOTRE THEME/templates/catalog/product.tpl), il suffit de rajouter dans la partie qui vous intéresse ce bout de code :

{if Group::getCurrent()->id != 4}
                <div>{$product.custom_field_lang_wysiwyg nofilter}</div>
{/if}

Cela aura pour effet de montrer la div à tous les groupes, sauf le groupe 4.

Si vous souhaitez que seul le groupe 4 ai accès à cette div, alors il faut remplacer le "!=" par "==".

Penser aussi à bien vider le cache de votre site en supprimant tous ce qui se trouve dans les dossiers :

/www/var/cache/dev   et   /www/var/cache/prod (ne pas supprimer les dossiers, seulement ce qui se trouve à l'intérieur).

Peut être est-il possible de ne pas rajouter de module, mais cette méthode à le mérite de fonctionner.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More