Jump to content

Masquer div selon groupe client


Mattisa

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 !

Link to comment
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 )..

Link to comment
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 ?

Link to comment
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 !!!!

Link to comment
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à

Link to comment
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

Link to comment
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".

Link to comment
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.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...