Bonjour,
Voilà, je travaille sur mon Framework servant au développement de portail d'informations depuis maintenant plus de 8 mois.
Il tourne déjà très bien, mais je souhaite en améliorer certaines parties, et cette fois je rencontre un réel problème qui n'est pas vraiment un problème de langage mais de logique (je pense).
Voilà, lors de l'inscription sur un portail un email de confirmation est envoyé au visiteur, cela permettant d'activer le compte (Un peu comme ici sur developpez.net).
Le soucis est que suivant les portails, l'email à une certaine présentation graphique parfois poussée, l'email contient donc un contenu HTML.
Je n'utilise pas PHP mail mais travaille directement avec le SMTP, mais le soucis n'est pas lié.
Actuellement tout le contenu HTML qui est envoyé par mail est repris dans une variable $body = "Balise et contenu";
Je souhaiterais sortir ces informations dans un fichier externe, afin de facilité le travail des designer, mais le gros soucis est que j'ai dans ce contenu HTML du code PHP.
Exemple actuel fonctionnel simple :
$body .= "Merci pour votre inscription ".$this->user->firstname;
Je suis dans un controlleur, et dans une Action (Typiquement un peu dans la même optique que Zend), j'ai un objet $user créé avec les propriétés de l'utilisateur, je me sers de ces propriétés pour personnaliser le document à envoyé.
J'ai testé différentes méthodes et nada...
1 2 3 4 5
|
public function monAction(){
$user = new User();
$user->mail = "test@test.be";
Fichier externe __DIR__."/../Mail/signup.php" <--Ce fichier contient le code HTML + une partie d'affichage de l'objet pour la personnalisation, exemple : <?php echo $user->mail; ?> |
Ces codes ne fonctionnent pas
file_get_contents("signup.php") -> je reçois bien l'email avec le contenu mais je vois a l'affichage <?php echo $user->mail; ?> qui est le code inclus dans la page.
J'ai également testé
1 2 3 4
| ob_start();
include __DIR__."/../Mail/signup.php";
$data = ob_get_contents();
ob_end_clean(); |
Et pareil... Il ne prend pas en compte l'objet créé juste au dessus...
Y à t'il une possibilité pour inclure un fichier externe, faire en sorte qu'il tienne compte des variables & objets créés avant son inclusion, mettre le tout en variable et utiliser cela dans un envoi mail ?
J'aimerais ne plus à créer 50 lignes $body .= "Mon contenu, blablabla, merci ".$user->firstname." pour votre confiance";
Bref je ne sais pas si vous comprendrez...
Partager