Page 1 sur 1

Template boucler les variables

Posté : 08 oct. 2014, 11:14
par Amnesy-shadows
Actuellement je suis bloquer sur un petit détails en PHP :( . J’ai un fichier template.htm. J’ai des requêtes SQL me permettant de récupérer toutes les informations nécessaires pour créer un fichier.doc ouvert avec Word.

Je génère mon fichier à l’aide du template.htm que je lis avec $content=file_get_contents('template.htm');
Pour remplacer les variables définies dans mon template.htm, je passe par 3 étapes :
• Je définie ma variable qui remplacera l’ancienne : $titreTicket = $titreTicket.$donnees['tickets_name'].'<br/>'; (Je l’initialise au début par $titreTicket = null; pour ne pas avoir d’erreur)
• Ensuite je la remplace à l’aide de $content=str_replace('$titreTicket',$titreTicket,$content);
• Et pour finir j’écris dans mon fichier.doc :

$fp="Rapport.doc";
fopen($fp, "a+");

if (is_writable($fp))
{
if (!$handle = fopen($fp, "a+"))
{
echo "Impossible d’ouvrir le fichier ($fp)" ;
exit ;
}
if (fwrite($handle, $content) === FALSE)
{
echo "Impossible d’écrire dans le fichier ($fp)" ;
exit;
}
echo "<a href='$fp'>Télécharger le fichier</a>" ;
fclose($handle) ;
exit;
}
else
{
echo "Le fichier $fp n’est pas accessible en écriture." ;
}


Le problème actuelle est que lorsque j’écris dans mon fichier, je n’arrive pas à séparer les informations récupérées ! J’obtiens Rapport.doc
J’aimerais en fait les séparer de la manière suivante : RapportVoulu.doc

Annexes:
Template.htm: http://www.casimages.com/i/141008110717430617.png
Rapport.doc: http://www.casimages.com/i/141008111526917382.png
RapportVoulu.doc: http://www.casimages.com/i/141008111242337264.png

J’espère avoir été clair et précis. Merci d’avance pour votre aide. :)

Cordialement,

Amnesy-Shadows

Re: Template boucler les variables

Posté : 08 oct. 2014, 15:59
par xTG
C'est ton template.html qui ne permet pas de faire ce que tu veux.
Il te faut une génération de template plus intelligente qu'un simple str_replace pour faire ce que tu veux.
Car il te faut un langage de script pour insérer des boucles. ;)

Bref c'est pas un petit détail mais un souci de conception qui va te faire revoir tout ton système de template.
Un intérêt à ne pas prendre une bibliothèque déjà existante ? Type Smarty par exemple ?

Re: Template boucler les variables

Posté : 08 oct. 2014, 16:10
par Amnesy-shadows
Mais est ce que Smarty va me permettre de faire ce que je veux??

Re: Template boucler les variables

Posté : 08 oct. 2014, 16:16
par Amnesy-Shadows
Aurais-tu un bon site pour Smarty?? Car je ne connais pas énormement

Re: Template boucler les variables

Posté : 08 oct. 2014, 18:40
par xTG
Mais est ce que Smarty va me permettre de faire ce que je veux??
Oui, Smarty est un générateur de template très puissant.

La référence reste encore le site de la librairie elle même.
Tu y trouveras notamment la réponse à ta problématique au travers d'un de leur exemple de documentation :
http://www.smarty.net/docs/en/language. ... oreach.tpl