VI. Tutoriels communautaires

Personnaliser votre Newsletter

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Dernière mise à jour : 30/01/2017 à 11h18

Introduction


La Newsletter est un des modules de PHPBoost qui permet de générer des mails automatiques contenant des informations liées à l'activité de votre site.

Nous allons voir ici comment personnaliser une Newsletter en lui ajoutant une ligne de copyright en bas de page:

tout va se passer dans le dossier /newsletter

----



le fichier common.php


ouvrir le fichier: /newsletter/lang/french/common.php et copier cette ligne en dessous de la ligne 113 (ou environ):

Code PHP :
$lang['copyright_newsletter'] = '<div style="color:#0000FF;font-style:italic;font-size:14px;text-align:center;display:block;"><a href="http://votre_url_de_site.xx"> © ici_votre_copyright</a></div>';
 


La gestion des mails, avec les différents opérateurs (gmail, free, orange ...) fait que les feuilles de style css externes ne sont pas ou mal gérées donc on passera la mise en forme dans le fichier common.php. Dans cet exemple, la ligne de copyright sera centrée en bas de page, de couleur bleue, en italique de taille 14px et en forme de lien qui renverra vers votre site. Il faudra faire de même dans le fichier /newsletter/lang/english/common.php pour la version anglaise.

----



le fichier AbstractNewsletterMail.class.php


ouvrir le fichier /newsletter/services/AbstractNewsletterMail.class.php et copier ces lignes en dessous de la ligne 82:

Code PHP :
public function add_copyright() {
        return $this -> lang['copyright_newsletter'];
    }


pour obtenir ceci en fin du fichier:

Code PHP :
 public function add_unsubscribe_link() { 
 return ' [url=' . NewsletterUrlBuilder::unsubscribe() -> absolute() . ']' . $this -> lang['unsubscribe_newsletter'] . '[/url]'; 
    } 
    public function add_copyright() { 
        return $this -> lang['copyright_newsletter']; 
    } 
} 
?> 


Ici, on vient ajouter une nouvelle fonction qui va retourner le contenu de notre variable de langue définie plus haut.

----



le fichier BBCodeNewsletterMail.class.php


ouvrir le fichier /newsletter/services/BBCodeNewsletterMail.class.php et copier cette ligne en dessous de la ligne 40:

Code PHP :
$mail_contents .= $this -> add_copyright(); 


pour obtenir ceci:

Code PHP :
public function send_mail($subscribers, $sender, $subject, $contents) { 
        $mail_contents = '<html><head><title>' . $subject . '</title></head><body>'; 
        $mail_contents .= $this -> parse_contents($contents) . $this -> add_unsubscribe_link(); 
        $mail_contents .= $this -> add_copyright(); 
        $mail_contents .= '<script></script><script></script><script></script><script></script><script></script><script></script><script></script><script></script><script></script><script></script></body></html>'; 
        parent::send_mail($subscribers, $sender, $subject, $mail_contents); 
    } 


ici on fait appel à notre nouvelle fonction pour générer l'ajout de notre variable de langue dans le corps du mail.

Vous n'avez plus qu'à affiner l'aspect graphique si besoin et à tester cette modification.

----



Avertissement




Attention: en cas de mise à jour du module ou de changement de version de pbt, ces modifications seront perdues mais faciles à remettre en place. Dans ce cas, il est conseillé de faire une sauvegarde en local de tout le dossier /newsletter au cas ou.