Jump to content

Recherche Envoie de mail a création nouveau compte Client


Recommended Posts

Bonjour,

 

Je suis à la recherche d'un module d’envoi d'un mail automatique, si je crée un nouveau compte client.

 

Auriez vous ça sous la main ?

 

Genre..

 

Bonjour Machin,

 

Votre compte à bien été crée, Voici vos informations de connexion

 

Ident :

mdp :

 

Voilà.

 

 

Merci d'avance.

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,

 

Cela date de quelques jours maintenant, mais, je ne trouve pas.

 

Il faut ça fonctionne comme ça, mais quand moi je crée un compte client depuis l'administration.

 

En gros, je crée le compte depuis l'admin.

 

Ça envoie un mail automatique avec le mot de passe (générer automatiquement)

 

Bonne soirée

Link to comment
Share on other sites

Effectivement cela ne fonctionne pas lorsque VOUS créez le compte client.

 

Il faut modifier le code natif de Prestashop (override) pour obtenir ce résultat.

 

Si un nouveau client s'inscrit de lui-même il recevra ce mail.

Link to comment
Share on other sites

  • 1 year later...

En version 1.5

 

Plus précisément en 1.5.5.0 et 1.5.6.0.

Bon alors c'est assez simple:

(je vous note la fonction à modifier dans controllers->admin->AdminController.php, a vous de voir si vous la modifiez en dur dans le fichier ou si vous faites un override)

Recherchez la fonction processAdd() dans ce fichier et remplacez-là par:

	public function processAdd()
	{
		if (Tools::getValue('submitFormAjax'))
			$this->redirect_after = false;
		// Check that the new email is not already in use
		$customer_email = strval(Tools::getValue('email'));
		$customer = new Customer();
		if (Validate::isEmail($customer_email))
			$customer->getByEmail($customer_email);
		if ($customer->id)
		{
			$this->errors[] = Tools::displayError('An account already exists for this email address:').' '.$customer_email;
			$this->display = 'edit';
			return $customer;
		}
		elseif ($customer = parent::processAdd())
		{
			$this->context->smarty->assign('new_customer', $customer);
			Mail::Send(
			$this->context->language->id,
			'account',
			Mail::l('Welcome!'),
			array(
				'{firstname}' => $customer->firstname,
				'{lastname}' => $customer->lastname,
				'{email}' => $customer->email,
				'{passwd}' => Tools::getValue('passwd')),
			$customer->email,
			$customer->firstname.' '.$customer->lastname
		);
			return $customer;
		}
		return false;
	}

Maintenant je vous conseille de créer un template mail (html et txt) dans le répertoire mail que vous modifierez par rapport à l'envoi classique (account.html et account.txt) car le client risque d'être surpris de s'être inscrit sans le  savoir...

Si vous créez ces 2 modèles appelez-les account2.html et txt et changez ce nom dans la fonction ci dessus 

            'account',

En espérant avoir été clair, je n'ai pas trop de temps :)

 

Eolia

 

Ps: si vous ne créez pas d'override, d'abord c'est mal et vous perdrez vos modifications lors de la prochaine mise à jour.

Edited by Eolia (see edit history)
  • Like 1
Link to comment
Share on other sites

J'ai mis du temps, car j'ai galéré sur mon override. Désolé.

 

Et comme j'ai compris d'où venait mon pb d'override, je le rajoute ici ça ne fera pas de mal.

 

Problème de cache tout simplement, réglé par la suppression du fichier /cache/class_index.php qui est ensuite régénéré automatiquement par prestashop. Sinon l'override n'est pas pris en compte.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...