Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Templates > phplib et phpBB
phplib et phpBB Forum d'entraide sur les moteurs de templates phplib et phpBB. Avant de poster -> FAQ gabarits phpBB2, Cours phpBB2 et Sources phpBB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/01/2008, 14h35   #1
Membre éprouvé
 
Avatar de ilood
 
Inscription : mars 2005
Messages : 468
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 468
Points : 446
Points : 446
Par défaut [phpBB 2] Récupérer sous forme de fichier html le code analysé

Bonjour,

Je developpe une petite application dans laquelle j'utilise des templates.
Pour moteur, j'utilise phpBB comme décrit dans cette page.

J'aimerai générer un fichier html, qui contient les valeurs de mes variables, à partir du fichier tpl.

Pour l'instant la méthode ne fait qu'afficher le résultat voulu.

En vous remerciant.
__________________
Qui aime bien, charrie bien
ilood est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 20h09   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Une solution (au moins il y a l'idée) :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class MyTemplate
    extends Template
{
	function pparse($handle, $retvar = '')
	{
		if (!$this->loadfile($handle))
		{
			die("Template->pparse(): Impossible de charger le fichier template pour le modèle $handle");
		}
 
		// actually compile the template now.
		if (!isset($this->compiled_code[$handle]) || empty($this->compiled_code[$handle]))
		{
			// Actually compile the code now.
			$this->compiled_code[$handle] = $this->compile($this->uncompiled_code[$handle], !empty($retvar), $retvar);
		}
 
		// Run the compiled code.
		eval($this->compiled_code[$handle]);
		return true;
	}
}
 
$tpl = new MyTemplate(...);
/* ... */
$retvar = '';
$tpl->pparse('toto', 'GLOBALS["retvar"]');
var_dump($retvar);
Sinon il y a bien évidemment les fonctions de bufferisation (ob_start et compagnie), qui viendraient entourer l'appel à la méthode pparse.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2008, 14h21   #3
Membre éprouvé
 
Avatar de ilood
 
Inscription : mars 2005
Messages : 468
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 468
Points : 446
Points : 446
Je ne suis pas habitué à utiliser php avec des objets. Je ne suis pas arrivé au résultat voulu.

J'ai étudié la fonction ob_start mais j'ai du mal à voir comment l'applique rà mon exemple.

Est ce que quelqu'un pourrait me mettre sur la piste.

Merci
__________________
Qui aime bien, charrie bien
ilood est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2008, 14h33   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Pour la bufferisation, ça se présenterait ainsi :
Code :
1
2
3
4
5
6
ob_start();
$tpl->pparse('toto');
$resultat = ob_get_flush();
 
# Pour "test"
var_dump($resultat);
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2008, 17h28   #5
Membre éprouvé
 
Avatar de ilood
 
Inscription : mars 2005
Messages : 468
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 468
Points : 446
Points : 446
Très bien merci ça fonctionne.
__________________
Qui aime bien, charrie bien
ilood est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h59.


 
 
 
 
Partenaires

Hébergement Web