Php dans template

Signaler
Messages postés
90
Date d'inscription
samedi 23 novembre 2002
Statut
Membre
Dernière intervention
28 avril 2010
-
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
hello,



une tite question par rapport aux templates :

peut -on insérer du code php dans le fichier de template et faire que ca fonctionne ?



merci d'avance


BirD

10 réponses

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut,



tout à fait.



Mettons un fichier nommé "index.php" contenant ceci :



<?php

$afficher= 'texte';



include './template.php';

?>



ton fichier template.php contient cela (le code html est crade et est juste là à titre d'exemple)

<?php

echo '<html><head></head> '.$afficher.' </html>';

?>

<hr size ="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
90
Date d'inscription
samedi 23 novembre 2002
Statut
Membre
Dernière intervention
28 avril 2010

ok, c une idée,

mais en fait, j'utilise la méthode avec template.inc...

BirD
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Bah pareil, mais attention à la sécurité de ton code...

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,



il n'empeche, les css, ca fait aussi bien office de template ;-)
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
ça n'a rien à voir sur le plan de la mise en forme, les CSS sont pour
la mise en forme, mais je parle de templates permettant de modifier le
contenu technique, ceci dit tu as effectivement raison sur le plan de
la mise en forme, les CSS permettent de ne pas toucher au code ;-)



Mais les "templates" dont je parle sont des templates destinées à avoir
des variables remplacées, pas du code html ni CSS, c'est tout
simplement pour éviter de taper le même code html sur tous les fichiers
php, mais seulement sur le fichier template.




<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
90
Date d'inscription
samedi 23 novembre 2002
Statut
Membre
Dernière intervention
28 avril 2010

ben non, pas pareill !



mon template contien par exemple :



<html>

<head>

<title>{TITRE}</title>

</head>

salut, mon nom est {NOM}



</html>



ce template est apelé depuis index.php grace a set_file("template","template.php")



si dans mon fichier template, je met du code php genre :



<html>


<head>


<title>{TITRE}</title>


</head>


salut, mon nom est

<?

if (toto=='1'){

echo "toto";

}else{

echo "{NOM}";

}

?>





</html>


et bien ca ne marche pas...


BirD
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Et bien dans ce cas renomme-le avec une extension php...



M'enfin ce genre de templates bouffe des ressources...

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
90
Date d'inscription
samedi 23 novembre 2002
Statut
Membre
Dernière intervention
28 avril 2010

en ronommant en php, ca ne marche pas non plus, g déjà essayé...



je sais pas si ca bouffe plus de ressources, g tjrs entendu dire que ce
type de template était plus rapide... enfin, ca fait rien, merci quand
meme.

BirD
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Bah perso ça marche chez moi...



Ensuite remplace les <? par des <?php, il se peut que la directive short_open_tag soit à off (mais c'est peu probable)...



Ensuite ces systèmes de templates basés sur du remplacement de chaînes
sont très coûteux à exécuter (sauf pour les plus optimisés d'entre-eux
qui font chuter de 10 % "seulement" (sic) les performances).

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Bah vi je sais de quels templates tu parles. Mais je n'ai jamais ete convaincu.

Personnellement, je retape peu de html de toutes facons.

J'utilise ce systeme de templates a mon taf, pour un cms boutique en
ligne que nous avons developpe, et pour des fichiers XML (heu des
templates XML remplis avec des valeurs pour creer des produits, en
gros). Pour le XML je vois l'interet, pour notre CMS aussi : a chaque
nouveau client, on doit creer un nouveau portail, et certaines valeurs
sont parfois a remplacer (variables "globales" : serveur ads, base de
donnees, prefixe de commande etc). Mais oui, c'est couteux, et on peut
parfaitement ne pas y recourir dans la plupart des cas. Quand ca se
limite a une seule page a modifier dynamiquement, ok. Mais j'ai vu ca
pour une shoutbox par exemple, et je vois pas l'interet. A chaque
affichage, hop, on parse un fichier html entier...bof. A la limite, je
pense (mais faudrait tester) que generer l'affichage htm a la
volee avec php est moins couteux.