|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() |
Bonjour à tous,
Voilà je réalise une màj de mon site en recodant en utilisant la méthode des Templates. Pour remplacer par exemple [CONTENU] dans mon template j'utilise un "ereg_replace" Cela marche trés bien si le contenu que je désire mettre est de l'HTML mais par contre si mon contenu contient du Php, il ne s'exécute pas. il est simplement affiché sans exécuter mon code? Comme pourrais-je faire pour que le code Php soit exécuté et non affiché Voici mon code pour le MoteurTemplate : Code :
ZbergK |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 815 ![]() |
Salut !
La philosophie des templates est justement de séparer présentation (HTML/CSS) et logique applicative, accès aux données, etc. (PHP). Ta démarche d'inclure directement du PHP à exécuter dans une template HTML est donc bancale et fait perdre l'avantage des templates. => Revois ta méthodologie. |
|
|
00
|
|
|
#3 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Salut
C'est courageux de ta part de coder un nouveau moteur de templates mais je pense que tu pourrais t'éviter des migraines en utilisant l'un des nombreux qui existent déjà et qui fonctionnent à merveille : phplib, Smarty, Templeet, etc. Le post-it (dans le forum PHP) sur les templates pourrait probablement t'orienter.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#4 | ||
|
Invité de passage
![]() |
Oui mais j'aimerais réaliser ca moi même, ca ne devrait pas posser de blem de ce niveau.
Mon template ne contient en effet que du Html, c'est bien la le but. Je posséde également le moteur de mon template qui remplace les diverses balise de ce type [Blabla] par leur contenu. Dans mon monteur il y la Switch qui réalise l'include pour aller chercher la bonne page. Et dans CETTE page qui est "Includée" j'aimerais y insérer du code Php, par exemple une requête vers MySql, mais ou se trouve le blem c'est que j'utilise cette fonction ereg_replace() Et quel n'exécute pas le code Php mais elle l'affiche Comment faire ? Merci d'avance de votre aide ZbergK Ps : Voici le code du moteur : Code :
|
||
|
|
00
|
|
|
#5 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Bon, en ce cas tu peux eval()uer ton code avant de l'envoyer dans ta page incluse.
Au fait, pourquoi ne pas utiliser file_get_contents() ? Code :
return preg_replace('#\[CONTENU\]#', eval(file_get_contents($Include)), $Affichage);
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 815 ![]() |
C'est quand même très très moche. Dans le fichier que tu inclues tu devrais aussi utiliser ton moteur de templates et pas faire d'eval( )
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() |
Ok Je suis d'accord avec vous.
Je vais donc recommencer au début sachant que je vx réaliser tout par moi même Voilà, donc je désire recoder mon site en utilisant un Template Les pages de mon site garde toute le même design. Baniére en haut, contenu a gauche et menu a droit. Mais le contenu du menu est dynamique, et le contenu de la page aussi. Je peux donc utiliser un template pour le design je penses mais comment faire pour le menu de droite et les pages du site qui sont dynamique --------------------------------- BAN --------------------------------- Page - Menu --------------------------------- FOOTER --------------------------------- Pour mon design aucun blem, Mais par contre prenons l'exemple de ma page d'accueil qui contient 2 titres un pour les news et l'autre du blabla, mais leur contenu est dynamique, et je dois aller le rechercher dans une DB. Par contre d'autre page comme celle ou je vais mettre le "logger" elles ne sont pas dynamique, ce n'est qu'un simple formulaire. Comment puis-je réaliser tout cela aisément en utilisant un template si c'est possible bien sûre ? Merci d'avance de votre a tous ZbergK |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com