Jump to content
ines83

Modifier les emails : ajout variable gender

Recommended Posts

Bonjour à tous,

 

j'ai un petit problème que je n'arrive pas a résoudre, j'aimerai la variable gender à  touts les emails

j'ai essayer ce code <td align="left">Bonjour <strong style="color: {color};">{gender} {firstname} {lastname}</strong> mais  ça marche pas

 

Auriez vous une idée de comment faire ?

 

Merci d'avance de vos réponses !

Share this post


Link to post
Share on other sites

salut tu as essayé <strong style="color: {color};">{$gender} {$firstname} {$lastname}</strong> ? parce que sans le dollar ca me choque... apres je me suis pas penché sur le pb mais essaye...

  • Like 1

Share this post


Link to post
Share on other sites

Bonjour,

 

Les emails sur prestashop sont envoyés via la fonction Maill::Send() dont les paramètres sont les suivants :

 

public static function Send($id_lang, $template, $subject, $template_vars, $to, $to_name = null, $from = null, $from_name = null, $file_attachment = null, $mode_smtp = null, $template_path = _PS_MAIL_DIR_, $die = false, $id_shop = null, $bcc = null)

 

L'ensemble des variables affichées dans l'emails sont assignées via la variable template_vars

 

Voici par exemple comment est envoyé l'email de création de compte

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
);

Toutes les variables sont envoyées à la fonction d'envoi.

 

Si tu souhaites rajouter le genre, il va donc falloir modifier tous les scripts d'envois d'emails pour renseigner la valeur gender ce qui pourrait donner un script comme cela

$gender = new Gender($customer->id_gender);

Mail::Send(
$this->context->language->id,
'account',
Mail::l('Welcome!'),
array(
	'{firstname}' => $customer->firstname,
	'{lastname}' => $customer->lastname,
	'{email}' => $customer->email,
	'{passwd}' => Tools::getValue('passwd')),
        '{gender}' => $gender->name[$this->context->language->id],
$customer->email,
$customer->firstname.' '.$customer->lastname
);
  • Like 1

Share this post


Link to post
Share on other sites

Bonjour à tous,

 

Je rencontre le même problème.

 

Je souhaite ajouter le "Genre" dans l'email de confirmation de commande mais la variable {gender} ne fonctionne pas et je ne saisi pas bien la solution proposée plus haut.

 

Une bonne âme pour trouver la patience de me donner un début de solution pratique ? ^^

 

Merci !

Edited by zataweb (see edit history)

Share this post


Link to post
Share on other sites

Bonjour,

 

Il n'y a malheureusement pas d'autre solution que de passer par le code pour rajouter cette information.

 

Concernant l'email de confirmation de commande, l'email est envoyé dans la fonction validateOrder() du fichier classes/PaymentModule.php

Il faut donc surcharger cette fonction afin d'ajouter les informations du genre.

Share this post


Link to post
Share on other sites

Je viens de tester et enfin j'arrive a une solution d'envoie de mail :

 

 protected function sendConfirmationMail(Customer $customer)
    {
        $gender = new Gender((int)$customer->id_gender, $this->context->customer->id_gender);
        if (!Configuration::get('PS_CUSTOMER_CREATION_EMAIL')) {
            return true;
        }
            return Mail::Send(
            $this->context->language->id,
            'account',
            Mail::l('Welcome!'),
            array(
                '{firstname}' => $customer->firstname,
                '{lastname}' => $customer->lastname,
                '{email}' => $customer->email,
                '{gender}' => $gender->name[(int)$this->context->language->id],
                '{passwd}' => Tools::getValue('passwd')),
            $customer->email,
            $customer->firstname.' '.$customer->lastname
        );
    
        
    }

Edited by haithem turki (see edit history)

Share this post


Link to post
Share on other sites

Hello,

how could we set the gender in the Email with the V 1.7.x ?

Any idea please?

Share this post


Link to post
Share on other sites

Bonjour

J'ai essayé avec la 1.7 mais ça ne marche pas malheureusement

Des pistes svp?

Share this post


Link to post
Share on other sites

Ca m'interesse également (v1.7.5.2).

Je trouve ça bizarre qu'on puisse pas mettre de Mr ou Mme avant le nom de quelqu'un, ça fait malpoli. Toutes mes recherches on convergées vers le même causalité, c'est politique, et c'est de ne plus vouloir de genre dans l'esprit de la population.. Vivement qu'on fasse le ménage de la classe dirigeante.

En attendant si quelqu'un à une solution pour mettre Mr ou Mme sur les email de la v1.7, je suis preneur.

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