Jump to content
darkchris11

Assigner un groupe à l'inscription pour les pros

Recommended Posts

Bonjour,

 

Je souhaiterai que mes clients puissent cocher une case pro ou particulier à l'inscription et ainsi appartenir au groupe voulu. ( 3 -> defaut , 4-> pro )

 

J'ai créé une option radio "id_group_pro"    'pro' et 'particulier', dans le fichier authentication.tpl, pour çà ok.

<p class="required radio">
			<span>Type de compte</span>
			<input type="radio" name="id_group" id="id_group2" value="4" {if isset($smarty.post.id_group) && $smarty.post.id_group == '2'}checked="checked"{/if} />
			<label for="id_group2">Professionnel</label>
			<input type="radio" name="id_group" id="id_group1" value="3" {if isset($smarty.post.id_group) && $smarty.post.id_group == '1'}checked="checked"{/if} />
			<label for="id_group1">Particulier</label>
		</p>

Par contre, j'ai tenté de trouver à quel endroit dans le fichier Controllers/Front/Authcontroller.php, je pouvais tester "id_group_pro", exactement à la ligne 562

if((int)$_POST['id_group'] == 2)
      $customer->addGroups(array(4));
 else
      $customer->addGroups(array(3));

Mais là, tous les clients vont dans le groupe pro que j'ai créé en BO.

 

 

Bref, je ne sais absolument pas comment et où tester çà, si quelqu'un peut me donner une piste.

 

Je précise que je travaille avec Prestashop 1.5.4.1

 

Merci pour vos réponses.

                                  

Share this post


Link to post
Share on other sites

salut,

 

dans le premier code tu as :

<input type="radio" name="id_group" id="id_group2" value="4" ...

 

 

<input type="radio" name="id_group" id="id_group2" value="3" ...

 

et ensuite tu testes : if((int)$_POST['id_group'] == 2)

c'est normal ?

Edited by coeos.pro (see edit history)

Share this post


Link to post
Share on other sites

oui, désolé, une bêtise de ma part, par contre, il me met toujours tous mes clients dans le groupe "pro" (4 ), je tenterai de débrousailler ce problème ce weekend.

 

N'étant pas très doué en prestashop, comment débuggez-vous les variables comme les $_POST['id_group'] par exemple?

Share this post


Link to post
Share on other sites

je ne sais pas ce que tu endends par debugger $_POST, mais essaye en mettant 

$id_group = (int)Tools::getvalue('id_group', 2);

 

Tools::getvalue permet de récupérer une valeur soit en get soit en post, si elle n'existe pas (ni en get ni en post) alors elle renvoi 2 (dans ce cas ci, sinon elle renvoi False par défaut).

 

ensuite tu fais :

if($id_group == 2)

$customer->addGroups(array(4));
else
$customer->addGroups(array(3));

Share this post


Link to post
Share on other sites

Merci à vous, je suis sur une bonne piste, je vais tester à fond et je mettrais une solution propre en ligne.

 

Merci de vos conseils.

Share this post


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

Important Information

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