Templates [PHP] - Programmation
Marsh Posté le 08-11-2001 à 18:30:54
Ethernal
moi, je fais ma requete, et pis un
while(list($auteur, $message,...)=mysql_fetch_row($result))
affichage du topic
je sais pas si j'ai répondu a ta question...
Marsh Posté le 08-11-2001 à 18:37:05
sisicaivrai>
bha c'est ce que j'ai pour l'instant, mais je peux pas mettre ça dans un template vu que les templates sont destinés aux graphistes (si j'en ai un sous la mains un jour )
d'autre part, si j'utilise des templates, mais que je ne permet pas aux graphistes de modifier le style d'affichage des entêtes des messages, autant pas faire de template, faut rester logique avec ce que l'on fait
Marsh Posté le 08-11-2001 à 18:39:48
comment j'ai répondu a coté j'avais pas relevé le mot important:template (lu en diagonale:D)...
daisolai, je vois pas trop comment t'aider
[edtdd]--Message édité par sisicaivrai--[/edtdd]
Marsh Posté le 08-11-2001 à 18:44:17
heu oui on fait à peu près comme tu as fait dans ton 1er msg
Marsh Posté le 08-11-2001 à 18:47:59
sisicaivrai a écrit a écrit : comment j'ai répondu a coté j'avais pas relevé le mot important:template (lu en diagonale:D)... daisolai, je vois pas trop comment t'aider |
pas de problème, ça m'arrive aussi
Marsh Posté le 08-11-2001 à 18:49:20
krolours1 a écrit a écrit : heu oui on fait à peu près comme tu as fait dans ton 1er msg |
à peu près ça veut dire quoi exactement ?
pcq vais me rerouver avec des variables remplies un max si mes pages sont grosses... ça risque pas de poser des problèmes ?
Marsh Posté le 08-11-2001 à 22:50:57
je disais à peu près car j'ai lu le code très rapidement
maintenant il me vient un doute
c quoi ta lib de templates ??
Marsh Posté le 08-11-2001 à 23:01:14
c vrai que j'ai fait un peu long là dsl
Je me suis fais une classe de template pas bien élaborée.
Elle lit et stocke le contenu d'un template dont on lui donne l'origine.
Elle retourne le contenu modifié en fonction du tableau passé en paramètre. Ce tableau contient le nom de la variable en clé et le contenu de celle-ci.
En fait ça ressemble à FastTemplates (ou un truc du genre).
Mais le principe d'avoir plusieurs templates "inclus" est-il bon ? (page.tpl contient implicitement entete_forum.tpl)
Marsh Posté le 09-11-2001 à 07:19:52
euh... c quoi un template?
-pas taper hein?-
Marsh Posté le 09-11-2001 à 10:17:06
ethernal a écrit a écrit : Mais le principe d'avoir plusieurs templates "inclus" est-il bon ? (page.tpl contient implicitement entete_forum.tpl) |
Ben oui c'est tt à fait normal
sur certaines pages j'ai 15 templates différents
Marsh Posté le 09-11-2001 à 15:15:19
ou la la 15 templates
tu me rassures là
pcq je me disais aussi que pour chaque formulaire il me faudrait une template aussi...
Est-ce que ça n'utilise pas trop de ressources cpu et mémoire ?
Que se passe-t-il si un message d'un forum ou autre contient un text du genre "{FOOTER}" (à cause d'un utilisateur en manque de tests) et que cette variable est remplacée par après par sa valeur ? hum hum ?
le seul moyen est-il de remplacer le contenu à risque en dernier ? ou bien il y a d'autres façons de faire ?
[edtdd]--Message édité par ethernal--[/edtdd]
Marsh Posté le 09-11-2001 à 15:36:54
ethernal a écrit a écrit : ou la la 15 templates tu me rassures là pcq je me disais aussi que pour chaque formulaire il me faudrait une template aussi... Est-ce que ça n'utilise pas trop de ressources cpu et mémoire ? Que se passe-t-il si un message d'un forum ou autre contient un text du genre "{FOOTER}" (à cause d'un utilisateur en manque de tests) et que cette variable est remplacée par après par sa valeur ? hum hum ? le seul moyen est-il de remplacer le contenu à risque en dernier ? ou bien il y a d'autres façons de faire ? |
1. Pour les ressources, je me suis pas posé la question étant donné le confort de dev et la clarté du code que les templates apportent. Je pense que ce n'est pas significatif.
Par contre je pense que tu devrait utiliser 1 lib existante plutot que d'écrire la tienne, il en existe des très performantes qui font du cache, de la compression ect..
2. Avec fastTemplate, ça peut pas arriver il me semble (je suis pas super sur non plus )
Marsh Posté le 09-11-2001 à 15:45:05
merci beaucoup pour tes réponses krolours1
c'est vrai qu'avec les templates on arrive à une distinction totale du code et de l'html et ça j'aime
je vais suivre tes conseils et utiliser FastTemplates qui m'a l'air correct.
encore merci
Marsh Posté le 09-11-2001 à 18:34:28
pour ceux que ça intéresse :
Citation : |
issu d'un article de phpbuilder http://www.phpbuilder.com/columns/ [...] hp3?page=1
Marsh Posté le 08-11-2001 à 18:25:10
Pendant que je pensais à recoder mon site web avec des templates, il me survint alors une question :
comment faire pour tout ce qui est affichage de plusieurs éléments issus d'une BD et dont l'affichage est répétitif ?
ex dans un forum :
- l'affichage de l'entête des forums disponibles
- l'affichage des entêtes de messages
je m'explique pour tout ceux qui n'auraient pas compris ou je voulais en venir
en gros une page de forum ressemble à ça
<Table>
<TR> <TD>{NOM}</TD> <TD>{DATE}</TD> <TD>{SUJET}</TD> </TR>
<TR> <TD>{NOM}</TD> <TD>{DATE}</TD> <TD>{SUJET}</TD> </TR>
<TR> <TD>{NOM}</TD> <TD>{DATE}</TD> <TD>{SUJET}</TD> </TR>
</table>
on ne connait pas le nombre de lignes du tableau à afficher
et même si on le connaissait, ce n'est que répétition de l'affichage d'une même ligne de table dont le contenu change.
donc comment s'en sortir ? je pensais à ça, mais ça me semble lourd
un template page.tpl qui contient la structure d'une page de base
//page.tpl----------------------------------------
-----
<HTML>
<HEAD>
{HEADER}
</HEAD>
<BODY>
<H1> {TITRE} </H1>
<CENTER>
<TABLE>
{ENTETEMESSAGE}
</TABLE>
</CENTER>
</BODY>
</HTML>
//-----------------------------------------------------
//un template pour l'entete des messages message.tpl
//entetemessage.tpl------------------------------------------
<TR> <TD>{NOM}</TD> <TD>{DATE}</TD> <TD>{SUJET}</TD> </TR>
//-----------------------------------------------------
et une page qui assemble le tout:
//index.php--------------------------------------------
...includes...
//remplissage du template des entêtes du forum
template= new template("emplacement/entetemessage.tpl" );
sqlquery= "select * from forum ...";
...
$entetes_forum= "";
while ($row= mysql_fetch_array($...)) {
$entetes_forum.= $template->parse($row);
}
//remplissage du template de la page
template= new template("emplacement/page.tpl" );
...
$messages_forum= "";
echo $template->parse(array("TITRE"=>"monTitre","E
NTETEMESSAGE"=>"$entetes_forum",...));
...
//------------------------------------------------
-----
Qu'en pensez vous ??
Comment faites vous ?