templates... [PHP] - PHP - Programmation
Marsh Posté le 03-07-2002 à 10:04:33
en gros :
tu charges une ou plusieurs pages qui contient du code html.
tu les parses pour remplacer les balises par le contenu.
tu l'affiches.
url, mais pas en français
http://www.devshed.com/Server_Side [...] page1.html
tu trouveras aussi au moins un article sur phpbuilder.com
divers moteur de templates:
http://modelixe.phpedit.com/ (ils ont le mérite d'expliquer correctement comment ça fct)
http://www.thewebmasters.net/php/FastTemplate.phtml (pas très clair, mais c'est celui que j'utilise)
si tu as des questions sur fasttemplates...
Marsh Posté le 04-07-2002 à 13:55:15
salut,
dis, pour les variables dans les .tpl
il faut mettre {VARIABLE} ou VARIABLE (avec FastTemplate)
parce que je vois partout avec des {} dans les examples, mais chez moi, ca me réaffiche les {} à la sortie (dans mon fichier .html final)
autre chose: apparemment, quand on emploie les templates, c'est aussi pour séparer l'HTML du code. mais j'arrive pas...
par exemple, si j'ai
main.tpl
<html>
<head>
</head>
<title>{TITLE}</title>
<body>
{MAIN}
</body>
et que je veux mettre un javascript dans le <head>
comment je fais ?
je dois faire une autre template exprès ?
avec:
<head>
<script>{SCRIPT}</script>
</head>
puis je fais une sorte d'include (en fait je vois pas très bien comment faire)?
merci
je suis neuneu ! n'est-ce pas ?
Marsh Posté le 04-07-2002 à 13:57:08
juste par curiosite y a t il une traduction francaise de template?
Marsh Posté le 04-07-2002 à 14:02:01
pour un comparatif des differents moteurs de template (francais ): http://www.phpindex.com/news/news_ [...] lement=866
tu peut utiliser le systeme de phplib (celui ke j utilise, le + performant sans systeme de cache ) (english): http://sourceforge.net/projects/phplib/
pour des explications bien utiles sur phplib (english too): http://www.phpbuilder.com/columns/david20000512.php3
Marsh Posté le 04-07-2002 à 14:02:03
kayasax a écrit a écrit : juste par curiosite y a t il une traduction francaise de template? |
gabarit
Marsh Posté le 04-07-2002 à 14:03:21
kadreg a écrit a écrit : gabarit |
Marsh Posté le 04-07-2002 à 15:04:32
art_dupond a écrit a écrit : salut, dis, pour les variables dans les .tpl il faut mettre {VARIABLE} ou VARIABLE (avec FastTemplate) parce que je vois partout avec des {} dans les examples, mais chez moi, ca me réaffiche les {} à la sortie (dans mon fichier .html final) |
oui il faut les mettre.
tu as modifié le fichier class.FastTemplate.php comme indiqué sur leur site ?
--> str_replace('{'.$key.'}', ...); pcq il parait que certaines versions de php auraient du mal avec les accolades.
art_dupond a écrit a écrit : autre chose: apparemment, quand on emploie les templates, c'est aussi pour séparer l'HTML du code. mais j'arrive pas... |
c'est même le principal avantage
art_dupond a écrit a écrit : par exemple, si j'ai main.tpl <html> <head> </head> <title>{TITLE}</title> <body> {MAIN} </body> et que je veux mettre un javascript dans le <head> comment je fais ? je dois faire une autre template exprès ? avec: <head> <script>{SCRIPT}</script> </head> puis je fais une sorte d'include (en fait je vois pas très bien comment faire)? |
ça dépend, tu peux mettre ton javascript dans le template de base (attention la balise <title></title> va dans le <head></head> ). Dans ce cas tu auras un template complet par page.
<html>
<head>
<title>{TITLE}</title>
<script>
function test(){
alert('blabla';
}
</script>
</head>
<body>
{CONTENT}
</body>
</html>
Maintenant tu travailles peut-être comme moi... c'est le bordel à expliquer
j'utilise un template de base qui ne contient que la structure de la page ({HEADER} et un tableau avec {MENU}, {PAGECONTENT}).
voir: http://www.ethernal.be/work/templates/JS/FR/index.html
Pour chaque page, je prends ce templates et je le remplis avec le contenu d'autres templates.
ex:
pour afficher la liste des forums (index.php?mod=forum&disp=index) :
- la page index.php contient l'ouverture du template principal (structure).
- j'inclus la page de contenu à afficher avec un include() en fonction des arguments (forum/index.php)
- Cette page contient le traitement du template de la liste des forums.
- je récupère le résultat dans une variable ( $var= $objTpl2->fetch(); )
- j'assigne cette variable dans index.php qui parse le template principal ($objTpl1->assign(CONTENT, $var);
tu as compris qqch ? (moi j'ai du mal )
si tu veux regardes mes templates
ex template du forum :
http://www.ethernal.be/work/templa [...] index.html
http://www.ethernal.be/work/templa [...] x_row.html
http://www.ethernal.be/work/templa [...] _head.html
http://www.ethernal.be/work/templa [...] forum.html
http://www.ethernal.be/work/templa [...] m_row.html
http://www.ethernal.be/work/templa [...] _head.html
http://www.ethernal.be/work/templa [...] topic.html
et ainsi de suite...
Marsh Posté le 04-07-2002 à 18:02:35
kadreg a écrit a écrit : gabarit |
J'eûs dit patron, mais c'est bon aussi
Marsh Posté le 06-07-2002 à 16:26:15
merci ethernal...
j'ai pas le temps de tout lire maintenant, je vais essayer de comprendre ce charabia
ps : j'arrive pas à acceder à tes trucs
Marsh Posté le 06-07-2002 à 16:28:57
en tout cas, ca marche mieux avec la ligne que tu m'as donnée
Marsh Posté le 06-07-2002 à 16:33:31
mais ca marche toujours pas avec le fichier exemple qu'ils donnent avec define_dynamic
edit: apparemment je vois sur le site qu'il faut aussi changer d'autres trucs...
bon je vais voir
edit : ca marche
Marsh Posté le 03-07-2002 à 00:52:48
Est se que quelqu'un me m'expliquer commen marche les templates, on me donenr une url (en français si possible) qui explique assez bien le sujet !
Merci