Categories > TinyButStrong general (FR) >

Newsletter et TBS

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: nohrad
Date: 2007-03-27
Time: 20:18

Newsletter et TBS

Je suis en train de mettre au point une class qui étend la fameuse classe d'envoi d'email PHPMailer.

J'aurais voulu utiliser TBS pour générer le contenu personnalisé de mon email html.
D'un côté un templte html classique chargé par tbs->LoadTemplate.
La question que je me pose tourne autour de la viabilité du système, en effet je boucle sur ma base de donnée pour récupérer les infos et je voulais savoir si un appel à tbs à chaque passage de la boucle ne risque pas de surcharger un peu mon serveur.

Est-ce que quelqu'un a déjà essayé une telle pratique ???

PS1 : est-ce qu'au lieu de charger un fichier hmtl, il serait possible de charger un simple fichier texte avec la méthode LoadTemplate, pour générer la version txt de l'email.

PS2 : j'ai décelé un petit problème dans TBS à la ligne 899.
         
  } elseif (property_exists($Value,$x)) {
En effet j'utilise une classe avec la une méthode __get (PHP5). Or property_exists renvoi toujours false pour une "propriété" obtenue par la méthode __get.
J'ai donc du créer une propriété __isset dans ma classe et remplacé la ligne de code 899 de TBS par
           
} elseif (isset($Value->$x)) {
By: Skrol29
Date: 2007-03-28
Time: 02:11

Re: Newsletter et TBS

$TBS->LoadTemplate('modele_email.txt',false); // Charge le fichier text et fusionne les champs [onload]
$source_fusion = $TBS->Source; // sauvegarde le source
while ($rec=mysql_fetch_array($rs)) {
    $TBS->Source = $source_fusion;
    ...
    $TBS->Show();
    $mail->Body = $TBS->Source;
    $mail->Send();
}

Je vais regarder ton truc avec la méthode __get(). Mais attention : PHP prévient que les méthodes magiques peuvent avoir des comportements innatendus.
By: nohrad
Date: 2007-03-28
Time: 10:29

Re: Newsletter et TBS

Parfait ton idée, cela permet effectivement d'éviter de charger plusieurs fois le même template.

Juste une petite question à quoi sert de préciser false dans la méthode  LoadTemplate
$TBS->LoadTemplate('modele_email.txt',false);
.
Je pensais que cela était réservé au charset ? Mais peut-être est-ce nécessaire quand on charge un fichier texte (pas d'encodage html ??) ?
By: Skrol29
Date: 2007-03-28
Time: 14:09

Re: Newsletter et TBS

Salut,

Ben oui, le second argument de LoadTemplate() désigne le Charset du modèle. Dans le cas d'un fichier texte, il n'y a pas de charset, donc valeur FALSE.