fasttemplate dynamique

fasttemplate dynamique - PHP - Programmation

Marsh Posté le 16-08-2002 à 18:48:50    

Code :
  1. <!-- NAME: new_categ_main.tpl -->
  2. <html>
  3. <head>
  4. <title>Ajouter une recette</title>
  5. </head>
  6. <body>
  7. {LISTE}
  8. </body>
  9. </html>
  10. <!-- END: new_categ_main.tpl -->


 

Code :
  1. <!-- NAME: liste.tpl -->
  2. <ul>
  3. <!-- BEGIN DYNAMIC BLOCK: li -->
  4. <li>{INGREDIENT}</li>
  5.    <!-- END DYNAMIC BLOCK: li -->
  6. </ul>
  7. <!-- END: liste.tpl -->


 
 

Code :
  1. <?
  2. Header("Content-type: text/plain" );
  3. include("./includes/class.FastTemplate.php" );
  4. include("./includes/db_connect.php" );
  5. $tpl = new FastTemplate("./templates" );
  6. $tpl->define(
  7. array(
  8.  main    => "new_categ_main.tpl",
  9.  liste   => "liste.tpl"
  10. )
  11. );
  12. $tpl->define_dynamic("li", "liste" );
  13. $recette_id = 0;
  14. $sql = "SELECT ingredient FROM ingredients WHERE recette_id='$recette_id';";
  15. $query = mysql_query($sql,$db) or die ('proutte');
  16. while($result = mysql_fetch_row($query))
  17. {
  18. $Ingredient = $result[0];
  19. $tpl->assign(
  20.  array(
  21.   INGREDIENT => $Ingredient
  22.  )
  23. );
  24. $tpl->parse(LISTE,".li" );
  25. }
  26. $tpl->parse(MAIN, array("liste","main" ));
  27. $tpl->FastPrint();
  28. exit;
  29. ?>


 
 
le problème, c'est qu'à la sortie, il m'affiche  
 

<li>machin</li>
</li>brol</li>


 
et pas
 

<ul>
<li>machin</li>
</li>brol</li>
</ul>


 
comme je le voudrais :(  
 
 
ah oui, et je comprends pas bien le LISTE non plus. Je me suis dit qu'il fallait que ce soit comme ca, mais je sais pas pourquoi :pt1cable:


Message édité par art_dupond le 16-08-2002 à 18:50:33

---------------
oui oui
Reply

Marsh Posté le 16-08-2002 à 18:48:50   

Reply

Marsh Posté le 17-08-2002 à 11:04:40    

tu ne peux pas utiliser un autre système de template que FastTemplate? par ce qu'il est assez limité et assez gourmand en ressource.

Reply

Marsh Posté le 17-08-2002 à 11:39:05    

c un peu le bordel fasttemplate (je l'utilise depuis un bout de temps mais y a des trucs que je capte pas toujours non plus
 
un benchmark des templates http://pukomuko.esu.lt/phemplate/benchmark/index.html


---------------
...oups kernel error...
Reply

Marsh Posté le 17-08-2002 à 11:45:59    

Code :
  1. <!-- NAME: new_categ_main.tpl -->
  2. <html>
  3. <head>
  4. <title>Ajouter une recette</title>
  5. </head>
  6. <body>
  7. {LISTE}
  8. </body>
  9. </html>
  10. <!-- END: new_categ_main.tpl -->


 

Code :
  1. <!-- NAME: liste.tpl -->
  2. <ul>
  3. <!-- BEGIN DYNAMIC BLOCK: li -->
  4. <li>{INGREDIENT}</li>
  5.    <!-- END DYNAMIC BLOCK: li -->
  6. </ul>
  7. <!-- END: liste.tpl -->


 
 

Code :
  1. <?
  2. Header("Content-type: text/plain" );
  3. include("./includes/class.FastTemplate.php" );
  4. include("./includes/db_connect.php" );
  5. $tpl = new FastTemplate("./templates" );
  6. $tpl->define(
  7. array(
  8.  main    => "new_categ_main.tpl",
  9.  liste   => "liste.tpl"
  10. )
  11. );
  12. $tpl->define_dynamic("li", "liste" );
  13. $recette_id = 0;
  14. $sql = "SELECT ingredient FROM ingredients WHERE recette_id='$recette_id';";
  15. $query = mysql_query($sql,$db) or die ('proutte');
  16. while($result = mysql_fetch_row($query))
  17. {
  18. $Ingredient = $result[0];
  19. $tpl->assign(
  20.  array(
  21.   INGREDIENT => $Ingredient
  22.  )
  23. );
  24. $tpl->parse(LISTES,".li" );
  25. }
  26. $tpl->parse(MAIN, array("liste","main" ));
  27. $tpl->FastPrint();
  28. exit;
  29. ?>


 
c'est dans les exemples de la doc, donc je suppose que ça fct
 
il va remplacer ton "li" dynamic par {LISTES} dans le template "liste"
-->

Code :
  1. <!-- NAME: liste.tpl -->
  2. <ul>
  3. <!-- BEGIN DYNAMIC BLOCK: li -->
  4.         {LISTES}
  5.         <!-- END DYNAMIC BLOCK: li -->
  6. </ul>
  7. <!-- END: liste.tpl -->


 
il va concaténer la valeur du template "li" à la précédente et tout stocker dans {LISTES}.
LISTES= "<li>INGD1</li><li>INGD2</li>"
puis il remplace automatiquement {LISTES} par sa valeur lors du parsage $tpl->parse(MAIN, array("liste","main" ));
 
j'espère que tu as suivi :D


Message édité par ethernal le 17-08-2002 à 11:52:04

---------------
...oups kernel error...
Reply

Marsh Posté le 17-08-2002 à 12:21:22    

gizmo a écrit a écrit :

tu ne peux pas utiliser un autre système de template que FastTemplate? par ce qu'il est assez limité et assez gourmand en ressource.




ben c'est parce que maître ethernal utilisait ca, c'est pour ca :p  
 
sinon tu conseilles quoi ?
 
sinon je vais voir le lien...
 
sinon euh... je vais essayer ce que le maître m'a donné
 
 
merci


---------------
oui oui
Reply

Marsh Posté le 17-08-2002 à 13:32:27    

:lol:  
tout mon site est fait avec fasttemplates.
qd je suis tombé sur la page de benchmark, je pensais pas que c'était à ce point lent :(
 
Donc je suis en train de me faire ma propre classe de templates en reprenant les meileurs idées de chacun (j'espère que ça fctera)


---------------
...oups kernel error...
Reply

Marsh Posté le 17-08-2002 à 15:44:48    

ben perso, j'aime assez bien phplib, mais je ne connaissais pas ce benchark, je vais aller y faire un tour.

Reply

Sujets relatifs:

Leave a Replay

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