Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

[PHP]Include et Templates...


tangui

Messages recommandés

J'utilise depuis tjrs la methode des templates en PHP (c'est tres pratique).

Ne voulant pas mettre de frame dans le site que je suis en train de faire, j'ai donc appliqué la méthode des <? include (mapage.php3) ?>

Le probleme est que lorsque j'appelle ma page via la méthode des templates, le résultat qui en sort est incohérent... J'ai ma partie du haut qui se trouve en bas, mes tableau en dessous, et mon menu en haut a gauche...avec en plus des 1 et 0 qui apparaissent de ci de la...comprends vraiment pas...j'ai js eu de pblmes avec les templates auparavant...

Code:

 

Mon index.php3:

 <?php
 #---------------------------------------------------------------------#
 #Index                #
 #Auteur: tangui                                  	#
 #date: Mercredi 5 mars 2003                                        #
 #Version:1.0                                                    #
 #---------------------------------------------------------------------#


 include "include/class.FastTemplate.php3";


 #créer une nouvelle instance de la classe FastTemplate
 # le premier paramètre définit le chemin où les modèles sont stockés
 $tpl= new FastTemplate("include/");
 $tpl-> define(array("main" => "base.php3"));



  #définir la correspondance entre les noms de modèles et les noms de fichier
  $tpl-> define(array(
                      "base" => "base.php3"
                     ));


$left = include ('include/left.php3');
$header = include ('include/header.php3');

 #affecter des valeurs aux variables
  $tpl->assign(array(
           "LEFT" =>  $left,  
             	"HEADER" =>  $header
   ));



  #analyser le modèle de nivau supérieur (FastTemplate remplit les valeurs)
   $tpl->parse("base", "base");



  #créer la sortie
  $tpl->parse("base", array("main"));
  $tpl-> FastPrint();

  ?>

 

ma page que je template (base.php3):

<HTML>
<HEAD>
<title></title>
<style>
.BorderOn	{width:140px;margin-left:0px;border:1px solid #dd0000}
.BorderOff	{width:150px;margin-left:0px;border:1px solid #000044}
A.mBlue:link      {color:#000044;text-decoration:none;font-weight:bold}
A.mBlue:visited   {color:#000044;text-decoration:none;font-weight:bold}
A.mBlue:active    {color:#000055;text-decoration:none;font-weight:bold}
A.mBlue:hover     {color:blue;text-decoration:underline}
A.mGreen:link     {color:#cc0000;text-decoration:none;font-weight:bold}
A.mGreen:visited  {color:#cc0000;text-decoration:none;font-weight:bold}
A.mGreen:active   {color:#cc0000;text-decoration:none;font-weight:bold}
A.mGreen:hover    {color:red;text-decoration:underline}
</style>

<script>

offMessage = "Passez votre souris sur les rubriques pour faire apparaître la description correspondante..."
function boxOn(which,message) {
if (document.all||document.getElementById) {
which.className = 'BorderOn';
if (document.getElementById) {
document.getElementById("Message").innerHTML = message
}
else {
Message.innerHTML = message;
}}}
function boxOff(which) {
if (document.all||document.getElementById) {
which.className = 'BorderOff';
if (document.getElementById) {
document.getElementById("Message").innerHTML = offMessage
}
else {
Message.innerHTML = offMessage;
}}}
</script>

</HEAD>
<BODY>

{HEADER}

<BR>

<table width="115%" border="0">
 <tr>
     <td width="10%">


{LEFT}

</td>

    <td width="87%"  align="left" valign="top">
        <table width="74%" height="200" border="1">
       <tr> 
         <td width="72%" height="200" align="left" valign="top"  bordercolor="#FF0000" bgcolor="#FFFFFF"> </td>
         <td width="28%" height="10" align="right" valign="top"  bordercolor="#FF0000" bgcolor="#FFFFFF"> </td>
       </tr>
       
       
     </table>
     <br><br>
     <table width="74%" height="200" border="1">
       <tr> 
         <td width="72%" height="200" align="left" valign="top"  bordercolor="#FF0000" bgcolor="#FFFFFF"> </td>
         <td width="28%" height="10" align="right" valign="top"  bordercolor="#FF0000" bgcolor="#FFFFFF"> </td>
       </tr>
       
       
     </table>
   </td>
 
</table>
</body>

</html>

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Je ne connais pas l'utilisation des templates...

Cependant, si tu veux un conseil pour ta mise en page, utilise un tableau dans ton index.

 

Fais un tableau de 100% * 100% (par exemple), defini chaque cellule ou tu veux qu'apparraise ton menu, banniere etc, et dans chaque cellule, ajoute ton include menu.htm par ex.

 

en esperant que cela t'aide...

Lien vers le commentaire
Partager sur d’autres sites

C'est ce que je lui ai expliqué la nuit dernière, mais Môsieur ne veut rien entendre :P

 

Un conseil, évite les templates si tu peux faire une include.

 

777

Lien vers le commentaire
Partager sur d’autres sites

ben c'est une habitude.... c'est tres pratique d'avoir son php et son HTML séparé...

Lien vers le commentaire
Partager sur d’autres sites

je vois pas où est le problème ?

 

Comme disait un homme célèbre : il faut diviser pour gagner.

Et tu as perdu :P

 

777

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Je ne connais pas l'utilisation des templates...

Cependant, si tu veux un conseil pour ta mise en page, utilise un tableau dans ton index.

 

Fais un tableau de 100% * 100% (par exemple), defini chaque cellule ou tu veux qu'apparraise ton menu, banniere etc, et dans chaque cellule, ajoute ton include menu.htm par ex.

 

en esperant que cela t'aide...

ben c fait et ca marche ca :P c juster un pblme avec les templates

Lien vers le commentaire
Partager sur d’autres sites

Bon, je n'arrive pas a faire cohabiter les templates avec les includes... ca me gave

Lien vers le commentaire
Partager sur d’autres sites

ben c'est une habitude.... c'est tres pratique d'avoir son php et son HTML séparé...

Moi je vois pas trop l'intéret d'utiliser les templates pour séparer l'HTML du PHP.

Comme l'a dit simous, l'utilisation d'un index.php qui sert de calque, c'est bien plus simple et moins lourd que de se faire chier avec les templates.

Et si tu veux faire un site skinnable, tu peux aussi te passer des templates.

 

Je sais bien qu'on dit souvent qu'en programmation, rien ne sert de réinventer le fil à couper le beurre mais ça s'applique pas quand il faut avoir fait Math SUp' pour utiliser le fil à couper le beurre...

 

En plus ton site est plus lourd...

Lien vers le commentaire
Partager sur d’autres sites

Et bien, je trouve ca tres pratique d'avoir ton code HTML d'un coté, et ton PHP de l'autre. Tu trouves tout de suite ce que tu veux modifier en PHP, et tu sais que les bugs proviendront du PHP et non du HTML. C'est une méthode que j'avais appris lors d'un stage dans une société qui faisait des sites professionnels. Ms bon, ce que je vais faire, c'est créé une page fonctions qui contiendra toutes mes fonctions PHP...

Lien vers le commentaire
Partager sur d’autres sites

Et bien, je trouve ca tres pratique d'avoir ton code HTML d'un coté, et ton PHP de l'autre. Tu trouves tout de suite ce que tu veux modifier en PHP, et tu sais que les bugs proviendront du PHP et non du HTML. C'est une méthode que j'avais appris lors d'un stage dans une société qui faisait des sites professionnels. Ms bon, ce que je vais faire, c'est créé une page fonctions qui contiendra toutes mes fonctions PHP...

J'ai jamais dit le contraire, je disais juste qu'il y a d'autres moyens de séparer HTML et PHP que les templates. La solution que tu envisages est celle que j'utilise. C'est très pratique pour une modif mais aussi pour voir où y a une erreur.

 

Ah oui et bon courage, ça risque de te demander un peu de boulot :P

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...