Dernière mise à jour : 11/02/2017 à 19h38
Table des matières
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
Nous allons ajouter une nouvelle variable de langue:
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
Ici, nous créons une fonction add_copyright() qui retournera le contenu de la variable de langue:
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']; } } ?>
----
Ajouter l'appel de la fonction
Pour créer une Newsletter, nous disposons de trois éditeurs de texte: Texte, BBcode et Html.
Nous allons donc modifier ces trois fichiers pour ajouter l'appel de la fonction qui génère l'affichage de la variable de langue dans le corps du mail.
le fichier TextNewsletterMail.class.php
ouvrir le fichier /newsletter/services/TextNewsletterMail.class.php et ajouter ceci en bout de la ligne 35:
Code PHP :
. $this -> add_copyright();
pour obtenir ceci:
Code PHP :
$contents = $this->parse_contents($contents) . $this->add_unsubscribe_link(). $this -> add_copyright();
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 .= '</body></html>'; parent::send_mail($subscribers, $sender, $subject, $mail_contents); }
le fichier HTMLNewsletterMail.class.php
ouvrir le fichier /newsletter/services/HTMLNewsletterMail.class.php et ajouter ceci en bout de la ligne 35:
Code PHP :
. $this -> add_copyright();
pour obtenir ceci:
Code PHP :
$contents = $this->parse_contents($contents) . $this->add_unsubscribe_link(). $this -> add_copyright();
Vous n'avez plus qu'à affiner l'aspect graphique si besoin et à tester cette modification.
----