Jump to content

Mail & Nouvel état de commande


Go to solution Solved by Eolia,

Recommended Posts

Bonjour,

 

J'ai besoin de créer un nouvel état de commande, jusque là pas de soucis.

Par contre, il faut que cette état de commande envoi un mail automatiquement. Et c'est là qu'est mon problème. Lors de la création, on me propose une liste de mail prédéfini. mais aucun correspond au nouvel état que je souhaite créer.

 

D'où ma question, ou est ce que je peux créer un nouveau mail que je pourrais lier par la suite à ce nouvel état?

 

Merci d'avance

Share this post


Link to post
Share on other sites
  • 2 weeks later...

Bonjour a tous,

 

J'ai le même problème, a savoir créer de nouveaux messages prédéfinis associés a un statu de commande. Je bloque la partie html.

J'ai creer mon message en txt par contre comment dois-je générer mon html?

Je part d'un ancien html et je modifie juste le nom du fichier?

Share this post


Link to post
Share on other sites

Bonjour a tous,

 

J'ai le même problème, a savoir créer de nouveaux messages prédéfinis associés a un statu de commande. Je bloque la partie html.

J'ai creer mon message en txt par contre comment dois-je générer mon html?

Je part d'un ancien html et je modifie juste le nom du fichier?

Oui et les phrases spécifiques à votre statut
  • Like 1

Share this post


Link to post
Share on other sites

Ok mais du coup qu'est-ce qu'il se passe si je mets du texte différent dans le txt et le html. Parce que je vois que pour le html il insérer le texte au milieu du code.

C'est le fichier html qui prend le dessus?

Share this post


Link to post
Share on other sites

Ni l'un ni l'autre, ces 2 fichiers servent à envoyer l'email en mode texte et html (si certains de vos clients n'acceptent pas le html dans leur messagerie. C'est rare mais ça existe encore)

 

Donc le fichier txt accepte les mêmes variables (tout ce qui se trouve entre {accolades} ), les phrases doivent être sans accents et aucun élément html dans le corps

  • Like 1

Share this post


Link to post
Share on other sites

Ok merci pour ces infos. J'ai bien créé mes 2 fichiers txt et html.

Je les ai mis dans le répertoire /themes/theme678/mails/fr qui correspond a mon thème. 

Par contre je ne retrouve le modèle que je viens de créer dans le backoffice: Commandes/Statuts (Alors que je vois bien tous les autres modeles)

Est-ce qu il y a une autre manip à faire?

Share this post


Link to post
Share on other sites

J'ai trouvé d'ou venait le problème. Il fallait mettre ces 2 fichiers dans le répertoire mails et non dans le répertoire du mail du theme.

 

Par contre je souhaiterai changer le mail d'envoi de ces messages. Ou peux t on modifier cet email?

Share this post


Link to post
Share on other sites

Ben dans Commandes -> Etats cliquez sur le statut voulu et cochez "Envoyer un e-mail au client lorsque la commande change d'état."

 

Vous pourrez alors choisir en dessous le modèle d'e-mail voulu ^^

 

Si vous parlez de l'email expéditeur, c'est celui de la boutique par défaut

Edited by Eolia (see edit history)

Share this post


Link to post
Share on other sites

Après, si vous voulez mettre un expéditeur pour chaque type de mail, c'est possible, mais il faut mettre les mains dans le cambouis.

Share this post


Link to post
Share on other sites

Ca se passe dans la classe OrderHistory.php

 

Tous les mails envoyés on les variables $from = null, $from_name = null et donc la classe Mail les remplace par celle du shop par défaut:

		if (!isset($from) || !Validate::isEmail($from))
			$from = $configuration['PS_SHOP_EMAIL'];
		if (!Validate::isEmail($from))
			$from = null;

		// $from_name is not that important, no need to die if it is not valid
		if (!isset($from_name) || !Validate::isMailName($from_name))
			$from_name = $configuration['PS_SHOP_NAME'];
		if (!Validate::isMailName($from_name))
			$from_name = null;
L'idée est donc de rajouter un champ "from" en base de données (table ps_order_state) et de le récupérer dans la requête de la fonction addWithemail() dans la variable $result['from'] (après l'avoir rajouté dans le SELECT de la requête, bien sûr)

Si cette variable existe, on l'insère dans la fonction mail, sinon on laisse à null.

De cette façon chaque email envoyé depuis un statut particulier aura un expéditeur attitré.

  • Like 1

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