[PHP] Meilleure façon d'insérer du contenu HTML

Meilleure façon d'insérer du contenu HTML [PHP] - PHP - Programmation

Marsh Posté le 11-08-2008 à 13:04:25    

Bonjour,
 
étant novice en PHP et désirant automatiser le plus possible des tâches répétitives, je suis à la recherche de la meilleure façon d'implémenter un système de layout en PHP.
 
Pour le moment j'ai une page "layout.php" qui a le squelette HTML de ma page (le header, le menu, le contenu, etc...). Je passe à ce layout le contenu HTML de la page selectionnée à traver une variable $pageContent.
 
Voila une idée du code:
 
layout.php

Code :
  1. <html>
  2. <head/>
  3. <body>
  4. <div align='center'>
  5. <?php echo $pageContent; ?>
  6. </div>
  7. </body>
  8. </html>


 
mapage.php

Code :
  1. $pageContent = "<b>Hello World</b>";
  2. require("layout.php" );


 
Malheureusement avec cette technique, je suis obligé de mettre tout mon code HTML entre guillement pour l'affecté à une variable PHP. Je ne peux donc pas utiliser un éditeur HTML pour simplifier l'édition. Bien sûr je pourrais faire du copier/coller entre mon éditeur et ma variable PHP mais je n'aime pas cette solution.
 
Ma question est donc comment faire pour avoir à la fois la génération automatique d'une page avec un layout donnée grâce au PHP et la possibilité d'éditer le contenu HTML avec un éditeur visuel?
 
Merci !

Reply

Marsh Posté le 11-08-2008 à 13:04:25   

Reply

Marsh Posté le 11-08-2008 à 13:14:18    

Tu vires carrément le HTML de $pageContent par exemple.

Reply

Marsh Posté le 11-08-2008 à 17:28:17    

Fred82 > Merci !  :hello:

Reply

Marsh Posté le 11-08-2008 à 22:01:19    

Tu peux jeter un oeil là dessus si tu veux :  
http://www.smarty.net/
 
C'est un système de template pour PHP, très efficace et assez simple à mettre en place. Je ne sais pas ce que tu cherches à faire, mais si c'est pour un projet un peu gros, ça peut-être intéressant d'y jeter un oeil.
(Si c'est pour un petit projet genre blog ou autre, c'est peut-être sortir le maillet pour écraser une fourmie ;)).

Reply

Marsh Posté le 11-08-2008 à 23:13:20    

c0wb0y a écrit :

Tu peux jeter un oeil là dessus si tu veux :  
http://www.smarty.net/
 
C'est un système de template pour PHP, très efficace et assez simple à mettre en place. Je ne sais pas ce que tu cherches à faire, mais si c'est pour un projet un peu gros, ça peut-être intéressant d'y jeter un oeil.
(Si c'est pour un petit projet genre blog ou autre, c'est peut-être sortir le maillet pour écraser une fourmie ;)).


 
Si c'est tout seul c'est pas la peine, dans ce cas c'est réinventer la roue, et comme le dit cowboy un peu trop sophistiqué
Mais tu peux faire tes propres templates en PHP, tout simplement : c'est super facile.
 
Genre :
 
myresults.php

Code :
  1. //Code mysql toussa...
  2. $page=mysql_fetch_assoc($result);
  3. include 'templates/mytemplate.tpl';


 
mytemplate.tpl

Code :
  1. <html>
  2. <head>
  3. <title><?php echo $page['title']; ?></title>
  4. </head>
  5. <body>
  6. <h1><?php echo $page['title']; ?></h1>
  7. <p><?php echo $page['contenu']; ?></p>
  8. </body>
  9. </html>


 
 :jap:


Message édité par Profil supprimé le 11-08-2008 à 23:15:21
Reply

Marsh Posté le 21-08-2008 à 11:10:11    

Si je peux me permettre, short tags On pleaze :)

Code :
  1. <?ob_start();?>
  2. <title></title></head><body><h1></h1><p></p>
  3. <?$p=ob_get_contents();
  4. $p=str_replace("<title></title>","<title>$page[title]</title>",$p);
  5. $p=str_replace("<h1></h1>","<h1>$page[title]</h1>",$p);
  6. $p=str_replace("<p></p>","<p>$page[contenu]</p>",$p);
  7. DIE($p) OR DIE ("FAIL :)" )
  8. //Pour moi c'est plus élégant ainsi
  9. ?>
 


Message édité par grosbin le 21-08-2008 à 11:13:41

---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed