Jump to content

Fonction en sortie d'inscription


Recommended Posts

Bonjours à tous,

 

Je souhaiterai au moment de l'inscription associé le nouvel inscrit à un groupe et à une adresse en fonction des informations qu'il a saisie. Comme je suis encore perdu dans le cheminement des infos dans les differents fichier "authcontrollers" "customer.php" "authentification.tpl" je ne sais pas ou placer mon code.

 

il faut de plus que celui-ci intervienne après l'association aux default group (que j'ai l'impression de retrouver dans tous les fichiers) afin que mes actions ne soit pas toutes écrasées.

 

Si vous pouviez m'indiquer la direction a suivre ou une rapide description du processus d'inscription je vous serez très reconnaissant.

 

 

Merci d'avance

 

Romain

Link to comment
Share on other sites

J'ai au niveau de mon inscription un code groupe que l'inscrit doit rentrer.

 

En base chaque groupe est donc associés à un code mais aussi à une adresse.

 

Je souhaiterai donc qu'au moment de l'inscription le default groupe et l'adresse de l'utilisateur soit ceux correspondant au code saisie.

 

la partie de saisie du code est actuellement fonctionnelle et me permet seulement d'associé un client à un code.

 

j'ai cherché dans customer.php et j'ai trouvé ceci :

 

 

public function __construct($id = null)
{
 $this->id_default_group = (int)Configuration::get('PS_CUSTOMER_GROUP');
 parent::__construct($id);


}

 

if ($this->id_default_group == Configuration::get('PS_CUSTOMER_GROUP'))
  if ($this->is_guest)
$this->id_default_group = (int)Configuration::get('PS_GUEST_GROUP');
  else
$this->id_default_group = (int)Configuration::get('PS_CUSTOMER_GROUP');

 

public static function getGroupsStatic($id_customer)
{
 if (!Group::isFeatureActive())
  return array(Configuration::get('PS_CUSTOMER_GROUP'));
 if ($id_customer == 0)
  self::$_customer_groups[$id_customer] = array((int)Configuration::get('PS_UNIDENTIFIED_GROUP'));
 if (!isset(self::$_customer_groups[$id_customer]))
 {
  self::$_customer_groups[$id_customer] = array();
  $result = Db::getInstance()->executeS('
  SELECT cg.`id_group`
  FROM '._DB_PREFIX_.'customer_group cg
  WHERE cg.`id_customer` = '.(int)$id_customer);
  foreach ($result as $group)
self::$_customer_groups[$id_customer][] = (int)$group['id_group'];
 }
 return self::$_customer_groups[$id_customer];
}

 

$this->is_guest = 0;
 $this->passwd = Tools::encrypt($password);
 $this->cleanGroups();
 $this->addGroups(array(Configuration::get('PS_CUSTOMER_GROUP'))); // add default customer group

 

 

mais je ne sais pas ou placer mon bout de code pour associer un client a son groupe :

 

$codece = Tools::getValue('codece');
$sql = "SELECT id_group FROM ps_group_lang WHERE code = '$codece'";
$id_default_group = (int)Db::getInstance()->getValue($sql);

 

de plus peut on recuperer en Tools::getValue sur la page customer ou faut-il que j'arrive à passer la donnée par les cookies ?

 

 

Enfin voila pas mal de chose qui me posent encore problème, si quelqu'un à une idées pour m'aider.

 

Merci d'avance

Edited by vermich (see edit history)
Link to comment
Share on other sites

  • 2 years later...

il existe un Hook pour ça.

actionCustomerAccountAdd($params) {}

cette fonction se lance après la création d'un compte utilisateur. et $params devrait contenir les info sur ce compte et la boutique.

 

il faut enregistrer le hook dans ton module pour que cette fonction soit reconnu et appelé

public function install()
{
    if (!parent::install() ||
        !$this->registerHook('actionCustomerAccountAdd')
    )
        return false;
    return true;
}
Edited by Cobs (see edit history)
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...