Jump to content

Supprimer [shop_name] dans l'objet des emails envoyés


Recommended Posts

Salut,

 

Lorsque Prestashop envoie un email il fait précéder l'objet de chaque message par le nom de la boutique entre crochets [shop_name].

 

J'aimerais supprimer cette mention afin de ne laisser que l'objet du message en lui-même.

 

Quelqu'un sait il comment procéder ? Je suis un peu perdu dans la version 1.5 !

 

Merci beaucoup d'avance :) .

 

Je suis sous PS 1.5.4.1

Link to comment
Share on other sites

Jetez un oeil dans la classe Mail.php

$message = new Swift_Message('['.Configuration::get('PS_SHOP_NAME', null, null, $id_shop).'] '.$subject);

Ne vous reste plus qu'à supprimer cette variable, ce qui donnerait (pas testé)

$message = new Swift_Message($subject);

  • Like 1
Link to comment
Share on other sites

hello,

 

 

Dans le dossier "mails" à la racine de ton presta, tu as l’ensemble des fichier html pour chaque type de mail.

Tu peux éditer les fichiers et tu trouveras se genre de code :

<title>Message de {shop_name}</title>

 

a adapter selon tes besoins....

 

Penser également aux diverses langues !

Link to comment
Share on other sites

Bonjour,

 

Dans la classe Mail, la méthode Send() comporte cette ligne:

  /* Create mail and attach differents parts */
  $message = new Swift_Message('['.Configuration::get('PS_SHOP_NAME', null, null, $id_shop).'] '.$subject);

 

Qu'il faut modifier (dans un override) par ceci:

  /* Create mail and attach differents parts */
  $message = new Swift_Message($subject);

 

PS: Je vois que nous avons écris en même temps, au moins il y aura de la réponse ainsi ! :D

  • Like 1
Link to comment
Share on other sites

Super ! Un grand merci à vous 3 pour vos réponses, j'ai testé la modification dans la classe Mail et ça fonctionne :rolleyes: .

 

En revanche Stéphane, je suis intéressé par les personnalisations que tu indiques mais dans le dossier Mails à la racine de mon Prestashop, moi je n'ai pas de fichiers HTML... uniquement :

  • un répertoire EN
  • un fichier index.php

Est-ce normal de ne pas avoir de répertoire FR ? Voulais tu dire qu'on customisait les fichiers HTML de la base de langue en Anglais et qu'on traduisait le français depuis le BO uniquement ? (on n'a plus la génération de fichiers HTML propres à chaque langues) ?

 

Merci pour ces petits détails !

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

Re Stéphane,

 

Oui j'ai bien le dernier ZIP PS1.5.4.1 et je viens de le redonwloader pour vérifier mais pas mieux ! Il n'y a qu'un répertoire de langue EN dans le répertoire Mails à la racine.

 

En vérifiant dans les versions précédentes, les dossiers de langue autres que l'EN étaient présents dans la version 1.5.3.1 mais plus dans la 1.5.4.0 et l'actuelle 1.5.4.1.

 

En revanche ils ont bien été créés sur mon serveur, ok ok je m'y retrouve. Je pense que PS les crée au besoin selon les langues utilisées.

 

Merci pour ton retour.

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

  • 1 year later...

Bonjour,

 

Dans la classe Mail, la méthode Send() comporte cette ligne:

   /* Create mail and attach differents parts */
   $message = new Swift_Message('['.Configuration::get('PS_SHOP_NAME', null, null, $id_shop).'] '.$subject);
Qu'il faut modifier (dans un override) par ceci:

   /* Create mail and attach differents parts */
   $message = new Swift_Message($subject);
PS: Je vois que nous avons écris en même temps, au moins il y aura de la réponse ainsi ! biggrin.png

 

 

 

Bonjour,

 

Visiblement sous Prestashop 1.6 cette modification n'est plus valable...

 

Dans la classe Mail.php, il s'agirait de ces lignes :

$subject = '['.Configuration::get('PS_SHOP_NAME', null, null, $id_shop).'] '.$subject;
$message = new Swift_Message($subject);

Je suppose qu'il faut donc créer un override Mail.php, en remplaçant la première ligne par :

$subject = $subject;

Pouvez-vous me confirmer ?

 

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

Bonjour,

 

En effet. Quoique vous pouvez simplement supprimer la première ligne qui équivaudra à ne rien faire, ;)

 

Dans cette version, le $subject a été mis à part, mais l'idée est la même. :)

 

PS: Bien entendu, il faut réaliser une surcharge de la classe Mail ; afin de ne pas perdre la modification lors d'une mise à jour ultérieure :)

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

  • 1 year later...

Bonjour, je me permet de répondre à ce sujet.

Je précise que je tatonne un tout petit peu avec prestashop et les modifications

La procédure fonctionne en effet pour la version 1.6 par contre les emails evoyés ne sont plus affichés dans préférence-->Email

Quelqu'un à une idée pour corriger le problème?

Merci par avance pour vos réponses

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

  • 5 months later...

Bonjour,

je suis intéressé par ce sujet, car je désire supprimer le nom de la boutique dans l’entête des mail (car les mails arrivent une fois sur 2 dans les spam).

 

Je suis sur presta 1.6.1.10

 

Comment avez vous fait?

Merci pour vos infos

Link to comment
Share on other sites

  • 2 months later...

Bonjour,

je suis intéressé par ce sujet, car je désire supprimer le nom de la boutique dans l’entête des mail (car les mails arrivent une fois sur 2 dans les spam).

 

Je suis sur presta 1.6.1.10

 

Comment avez vous fait?

Merci pour vos infos

Bonjour, Souvent cela dépends du nom de ta boutique ou de la quantité d'e-mail que tu envoies si tu es bloqué. Si tu veux pas être embêté tu peux peut passer par des solutions de cloud e-mailing comme emailjet et pleins d'autres. Tu trouveras leur modules gratuits sur l'addons (enfin c'était le cas à l'époque où nous utilisions emailjet). L'abonnement n'est pas très cher si cela dépasse la quantité qu'ils autorisent en utilisation gratuite et donc tu peux en profiter pour envoyer des newsletters sans être bloqué.

J'espère t'avoir un peu aidé.

Link to comment
Share on other sites

  • 4 months later...

Bonjour,

 

Dans la classe Mail, la méthode Send() comporte cette ligne:

   /* Create mail and attach differents parts */
   $message = new Swift_Message('['.Configuration::get('PS_SHOP_NAME', null, null, $id_shop).'] '.$subject);
Qu'il faut modifier (dans un override) par ceci:

   /* Create mail and attach differents parts */
   $message = new Swift_Message($subject);
PS: Je vois que nous avons écris en même temps, au moins il y aura de la réponse ainsi ! biggrin.png

 

Hello,

 

Une idée sur 1.7 please? :)

Link to comment
Share on other sites

Bonjour,

 

A priori c'est la même manip, à tester

 

Dans \classes\Mail.php : 

/* Create mail and attach differents parts */
$subject = '['.Configuration::get('PS_SHOP_NAME', null, null, $idShop).'] '.$subject;
$message->setSubject($subject);

Link to comment
Share on other sites

 

Bonjour,

 

A priori c'est la même manip, à tester

 

Dans \classes\Mail.php : 

/* Create mail and attach differents parts */
$subject = '['.Configuration::get('PS_SHOP_NAME', null, null, $idShop).'] '.$subject;
$message->setSubject($subject);

Je viens d'essayer de remplacer le:

 

  /* Create mail and attach differents parts */
            $subject = '['.Configuration::get('PS_SHOP_NAME', null, null, $idShop).'] '.$subject;
            $message->setSubject($subject);
 
par
 
/* Create mail and attach differents parts */
            $subject = '['.Configuration::get('PS_SHOP_NAME', null, null, $idShop).'] '.$subject;
            $message->new Swift_Message($subject);
 
mais ca me donne erreur 500 :(
Link to comment
Share on other sites

  • 2 weeks later...
  • 9 months later...

Bonjour Alexandre.

Je suis désolé mais je ne sais pas insérer le nouveau code dans mon overide (déjà existant)

 

PS 1.6.1.18

 

Overide existant :
 

<?php
class Mail extends MailCore
{

    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, $reply_to = null)
    {

        //$bcc = '[email protected]';
        //$bcc = '[email protected]';

        return parent::Send($id_lang, $template, $subject, $template_vars, $to,
            $to_name, $from, $from_name, $file_attachment, $mode_smtp,
            $template_path, $die, $id_shop, $bcc, $reply_to);

    }

}

 

où dois-je coller le code ci-dessous exactement ?

  /* Create mail and attach differents parts */
            $subject = .$subject;
            $message->setSubject($subject);

mon code modifié est juste ?

 

Désolé je suis complètement novice et j'ai repris un site existant donc un dev avait dejà fait des modifs et overides.

Merci

Romain

Link to comment
Share on other sites

On 21/08/2017 at 1:00 PM, Alexandre Carette said:

Salut,

 

Faites des overrides de classes afin de pouvoir mettre a jour Prestashop,

 

cordialement

 

Bonjour Alexandre.

Je suis désolé mais je ne sais pas insérer le nouveau code dans mon overide (déjà existant)

 

PS 1.6.1.18

 

Overide existant :
 

<?php
class Mail extends MailCore
{

    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, $reply_to = null)
    {

        //$bcc = '[email protected]';
        //$bcc = '[email protected]';

        return parent::Send($id_lang, $template, $subject, $template_vars, $to,
            $to_name, $from, $from_name, $file_attachment, $mode_smtp,
            $template_path, $die, $id_shop, $bcc, $reply_to);

    }

}

 

où dois-je coller le code ci-dessous exactement ?

  /* Create mail and attach differents parts */
            $subject = .$subject;
            $message->setSubject($subject);

mon code modifié est juste ?

 

Désolé je suis complètement novice et j'ai repris un site existant donc un dev avait dejà fait des modifs et overides.

Merci

Romain

Link to comment
Share on other sites

  • 1 year later...
  • 2 years later...

quand j'ai senti que mon mari me trompait, j'ai envoyé un message à vladimirhacks sur instagram qui m'a aidé à vérifier le téléphone de mon mari et j'ai réussi à voir la vérité, sans vladimir, j'aurais été joué pendant des années, tout cela grâce à lui. Il est également efficace pour récupérer des comptes et des messages supprimés...

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