Jump to content

Envoi d'un mail de confirmation de commande au client


Recommended Posts

Bonjour,

 

J'ai vu que ce sujet avait été abordé à plusieurs reprises mais n'ai pas trouvé une réponse qui me convienne. Désolée de lancer encore ce genre de demande...

Sur un site dont je m'occupe, je ne trouve pas comment envoyer un mail de confirmation de commande aux clients.
Il y a bien dans commandes / Etats de commandes la ligne Paiement accepté qui envoi alors la facture aux clients mais ils ne reçoivent pas le détail de leur commande.

Que faut-il que je fasse pour que les clients reçoivent ce détail par mail ?

En vous remerciant de vos réponses.

Link to comment
Share on other sites

Bonjour,

 

C'est en modifiant les templates des emails que vous pouvez envoyer plus ou moins d'informations dans les messages. Sous réserve que les variables soient disponibles pour afficher les données c'est en éditant ces templates que vous pouvez ajouter/supprimer des infos.

 

Cordialement,

 

AM

Link to comment
Share on other sites

Les templates d'emails sont accessibles dans les traductions des emails via l'admin. Je crois que l'un des templates contient le code pour le détail des commandes (mail alerte pour dire à l'admin du site qu'il y a une nouvelle commande). Vous pouvez recopier la partie correspondante dans le mail que vous souhaitez modifier et voir si ça marche ainsi. Par contre si les données à afficher nécessitent des surcharges de classes/controleurs ce sera plus difficile à faire. 

Link to comment
Share on other sites

Merci alama pour ta réponse.

Ne l'ayant encore jamais fait, quelles informations faut-il que j'ajoute pour que s'affiche les produits achetés ?

Le mail est ainsi

 

[/{shop_url}] 

Bonjour {firstname} {lastname},

Merci d'avoir effectué vos achats sur {shop_name}! 

Le paiement pour votre commande ayant pour référence
{order_name} a été accepté. 

Vous pouvez accéder à tout moment au suivi de votre commande et
télécharger votre facture dans "Historique des commandes"
[/{history_url}] de la rubrique "Mon compte" [/{my_account_url}] sur
notre site. 

Si vous avez un compte invité, vous pouvez suivre votre commande
dans la section "Suivi invité"
[/{guest_tracking_url}?id_order={order_name}] de notre site. 

{shop_name} [/{shop_url}] réalisé avec PrestaShop(tm)
[http://www.prestashop.com/] 

 

Il faudrait que je puisse mettre la liste des produits.

Link to comment
Share on other sites

Bonjour,

 

Connaissez-vous le code HTML ? Si oui vous pouvez voir le mail du module Mail alerts qui envoie le détail d'une commande faite par un client à l'admin du site et copier la partie qui vous intéresse via l'édition en HTML dans les traductions des emails. Puis tester si ça marche sans avoir à faire d'autres modifications. Si non nous pouvons regarder mais ce sera une prestation. 

 

Cordialement,

 

AM 

Link to comment
Share on other sites

1 hour ago, alama said:

Bonjour,

 

Connaissez-vous le code HTML ? Si oui vous pouvez voir le mail du module Mail alerts qui envoie le détail d'une commande faite par un client à l'admin du site et copier la partie qui vous intéresse via l'édition en HTML dans les traductions des emails. Puis tester si ça marche sans avoir à faire d'autres modifications. Si non nous pouvons regarder mais ce sera une prestation. 

 

Cordialement,

 

AM 

J'ai créé une commande dans l'onglet des traductions. J'espère que ça fonctionnera ne sachant comment vérifier. J'ai donc ajouté le mail de Confirmation de commande utilisant le modèle order_conf

Merci encore pour tes interventions alama.

Link to comment
Share on other sites

Bonjour,

En quelle version êtes-vous?

Je suis en 1.7.6.5 et ça envoie un mail au client directement.

Le template pour cela est order_conf (.html ou .txt) et là, vous avez les produits, réductions,...

Dans cette version, la fonction d'envoi de mail (pour une nouvelle commande) se trouve dans classes/PaymentModule.php (ligne 660 chez moi mais recherchez Mail::Send pour la trouver plus facilement). Là, vous pourrez voir ce qui est utilisé.

Voilà ce que j'ai dans ce fichier :

if (Validate::isEmail($this->context->customer->email)) 
{ 
	Mail::Send( 
		(int) $order->id_lang, 
		'order_conf', 
		Context::getContext()->getTranslator()->trans( 
			'Order confirmation', 
			array(), 
			'Emails.Subject', 
			$orderLanguage->locale ), 
		$data, $this->context->customer->email, 
		$this->context->customer->firstname . ' ' . $this->context->customer->lastname, 
		null, 
		null, 
		$file_attachement, 
		null, 
		_PS_MAIL_DIR_, 
		false, 
		(int) $order->id_shop 
	);
}

 

Link to comment
Share on other sites

On 3/25/2021 at 10:35 AM, Laetitia Bordon said:

Bonjour,

En quelle version êtes-vous?

Je suis en 1.7.6.5 et ça envoie un mail au client directement.

Le template pour cela est order_conf (.html ou .txt) et là, vous avez les produits, réductions,...

Dans cette version, la fonction d'envoi de mail (pour une nouvelle commande) se trouve dans classes/PaymentModule.php (ligne 660 chez moi mais recherchez Mail::Send pour la trouver plus facilement). Là, vous pourrez voir ce qui est utilisé.

Voilà ce que j'ai dans ce fichier :


if (Validate::isEmail($this->context->customer->email)) 
{ 
	Mail::Send( 
		(int) $order->id_lang, 
		'order_conf', 
		Context::getContext()->getTranslator()->trans( 
			'Order confirmation', 
			array(), 
			'Emails.Subject', 
			$orderLanguage->locale ), 
		$data, $this->context->customer->email, 
		$this->context->customer->firstname . ' ' . $this->context->customer->lastname, 
		null, 
		null, 
		$file_attachement, 
		null, 
		_PS_MAIL_DIR_, 
		false, 
		(int) $order->id_shop 
	);
}

 

Merci Laetitia pour ces infos.

J'ai créé une commande avec le template order_conf. Reste à voir ensuite si ça fonctionne 😉

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...