AccueilAideRechercherIdentifiez-vousInscrivez-vous

Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
23 Mai 2012 à 03:44:55

Connexion avec identifiant, mot de passe et durée de la session
Rechercher
    avancée

News

Stats
8763 Messages dans 1087 Fils de discussion par 1002 Membres
Dernier membre: emilie
+  PHP Astux
|-+  NewsletTux v. 2
| |-+  NewsletTux 2 fr (fin du support)
| | |-+  [Réglé] Contenu dynamique dans Newslettux 2 ?
Pages: [1]   Bas de page
Imprimer
Auteur Fil de discussion: [Réglé] Contenu dynamique dans Newslettux 2 ?  (Lu 5018 fois)
proxo
Néophyte
*
Messages: 4


« le: 08 Novembre 2007 à 00:57:47 »

Bonjour,

Tout d'abord, un grand bravo au créateur de Newslettux, qui ressemble à un vrai logiciel Clin d'oeil
J'ai essayé pas mal de newsletter et Newslettux est de loin le plus poussé à ma connaissance.

Et cela va continuer je l'éspère !!!

Ma question :
Je souhaite intégrer en plus du texte "--NEWSLETTUX--" un deuxième contenu qui serait lui issu d'une base MySQL.
J'ai essayé au début de le faire via une template mais les infos n'apparaissent pas... à l'aperçu et encore moins dans ma boite aux lettres...

Mes connaissances sont limitées. Peut-être est-ce simple ou pas du tout... je n'en sais rien  Embarrassé


infos supp :
- hébergement : ovh 300gp
- Newslettux 2
- templates : oui
« Dernière édition: 10 Novembre 2007 à 16:32:05 par proxo » Journalisée
Matthieu
Administrateur
Membre Héroïque
*
Sexe: Homme
Messages: 3461


Unreal Power...


WWW
« Répondre #1 le: 08 Novembre 2007 à 09:10:46 »

Salut,
on m'a déjà posé la question, je ne me suis pas encore plus penché dessus, mais as-tu essayé un template en PHP ?
je dis "je ne me suis pas penché dessus" parce que je n'ai pas fait d'essais, mais en principe ça devrair marcher.
Journalisée

proxo
Néophyte
*
Messages: 4


« Répondre #2 le: 09 Novembre 2007 à 13:44:30 »

Oui, j'ai déjà fait l'essai, et la prévisualisation n'affiche rien et rien non plus n'apparait
lorsque je reçois le mail...

L'idéal, serait peut-être un script qui récrit un template php en html (le html lui affichant cette fois-ci "en dur" toute la partie php ) ?

merci en tout cas de m'avoir répondu Clin d'oeil Le fait de savoir que je ne suis pas le seul à s'être posé cette question me rassure...

Journalisée
Matthieu
Administrateur
Membre Héroïque
*
Sexe: Homme
Messages: 3461


Unreal Power...


WWW
« Répondre #3 le: 09 Novembre 2007 à 15:27:38 »

Je me penche dessus cet après-midi Sourire
Journalisée

Matthieu
Administrateur
Membre Héroïque
*
Sexe: Homme
Messages: 3461


Unreal Power...


WWW
« Répondre #4 le: 09 Novembre 2007 à 18:39:55 »

Quelqu'un m'avait posé la même question il y a quelques temps, je viens de finir mes "gors cours" je vais pouvoir me replonger dans NewsletTux 2.

Quoiqu'il en soit, il est tout à fait possible de mettre du PHP dans un template, sous 2 conditions :

  • que le nom du fichier porte l'extension .php (!)
  • qu'on fasse une petite modif au scriptcomme décrit ci-dessous.

Cette modification du système de templates ne modifiera nullement la lecture des templates HTML.


Pour procéder à cette modification, ouvrir admin/write.php et remplacer ligne 411 :
Code:
$read_template = TextFileReader(NTUX2_ROOT.SITE_UPLOADDIR.'templates/'.$preview_template);

foreach($read_template as $line_number => $line_template)
{
$regex = "#--NEWSLETTUX--#";
if(preg_match($regex, $line_template, $matches)) // this line has the marker
{
$read_template[$line_number] = str_replace("--NEWSLETTUX--",$preview_message_displayed, $read_template[$line_number]);
};
};

par :

Code:
//$read_template = TextFileReader(NTUX2_ROOT.SITE_UPLOADDIR.'templates/'.$preview_template);
$template_uri = SITE_URL.SITE_NTUXDIR.SITE_UPLOADDIR.'templates/'.$preview_template;
$read_template = ReadExternalFile($template_uri);
$read_template = explode("\n",$read_template);

foreach($read_template as $line_number => $line_template)
{
$line_template = RemoveCRLF($line_template);
$regex = "#--NEWSLETTUX--#";
if(preg_match($regex, $line_template, $matches)) // this line has the marker
{
$read_template[$line_number] = str_replace("--NEWSLETTUX--",$preview_message_displayed, $read_template[$line_number]);
};
};
(pour utiliser l'aperçu des newsletters) ainsi que ligne 700 :
Code:
if ($array_newsletter['html']['template'] != '')
{
// a template is used
$read_template = TextFileReader(NTUX2_ROOT.SITE_UPLOADDIR.'templates/'.$array_newsletter['html']['template']);

foreach($read_template as $line_number => $line_template)
{
$regex = "#--NEWSLETTUX--#";
if(preg_match($regex, $line_template, $matches)) // this line has the marker
{
$read_template[$line_number] = str_replace("--NEWSLETTUX--",$array_newsletter['html']['body'], $read_template[$line_number]);
};
};

par :

Code:
if ($array_newsletter['html']['template'] != '')
{
// a template is used
//$read_template = TextFileReader(NTUX2_ROOT.SITE_UPLOADDIR.'templates/'.$array_newsletter['html']['template']);
//$read_template = ReadExternalFile(NTUX2_ROOT.SITE_UPLOADDIR.'templates/'.$array_newsletter['html']['template']);
$template_uri = SITE_URL.SITE_NTUXDIR.SITE_UPLOADDIR.'templates/'.$array_newsletter['html']['template'];
$read_template = ReadExternalFile($template_uri);
$read_template = explode("\n",$read_template);

foreach($read_template as $line_number => $line_template)
{
$line_template = RemoveCRLF($line_template);
$regex = "#--NEWSLETTUX--#";
if(preg_match($regex, $line_template, $matches)) // this line has the marker
{
$read_template[$line_number] = str_replace("--NEWSLETTUX--",$array_newsletter['html']['body'], $read_template[$line_number]);
};
};
(pour l'utilisation lors de l'envoi des newsletters cette fois).

PS : la version 2.0.6. contiendra ce correctif.
Journalisée

proxo
Néophyte
*
Messages: 4


« Répondre #5 le: 09 Novembre 2007 à 20:07:51 »

Bonsoir,

J'ai remplacé ces 2 bouts de code dans write.php et lorsque
je souhaite prévisualiser, il me marque :

error file_get_contents


C'est normal docteur ?  Embarrassé
Journalisée
Matthieu
Administrateur
Membre Héroïque
*
Sexe: Homme
Messages: 3461


Unreal Power...


WWW
« Répondre #6 le: 10 Novembre 2007 à 11:24:03 »

C'est que le lien vers le fichier est erroné.

Ouvre lib/functions.php et dans la function ReadExternalFile($url) (ligne  387) remplace ligne 389 :
Code:
//echo $url;

par
Code:
echo $url; exit();

ça te donnera l'URL du fichier qu'il tente de lire. Visiblement c'est elle qui est fausse.
Journalisée

proxo
Néophyte
*
Messages: 4


« Répondre #7 le: 10 Novembre 2007 à 16:31:40 »

 Grimaçant

Un très grand merci !!!!
Tout marche... il me reste encore quelques trucs à régler au niveau
feuilles de styles... mais pour le contenu dynamique ça marche !!!

Ce qui rend Newslettux encore plus puissant Clin d'oeil

Je ne manquerai pas de conseiller tous mes amis et collègues de travaille
de jeter un coup d'oeil sur ton travail.

Encore merci Sourire
Journalisée
Matthieu
Administrateur
Membre Héroïque
*
Sexe: Homme
Messages: 3461


Unreal Power...


WWW
« Répondre #8 le: 10 Novembre 2007 à 16:41:03 »

C'est super sympa Clin d'oeil
Journalisée

Pages: [1]   Haut de page
Imprimer
Aller à:  

Powered by SMF 1.1.16 | SMF © 2011, Simple Machines
Amber design by Bloc | XHTML | CSS