2009-06-20 3 views
0

J'ai vérifié beaucoup de tutoriels sur y compris en-tête, navigation et pied de page en utilisant php "include". Mais j'ai fini par séparer mes balises html. Par exemple, my <div id="content"> est dans "header.html" alors que la balise de fermeture </div> est dans le pied de page. Cela me pose un problème lorsque j'utilise jQuery et que j'ai l'air un peu désordonné. Existe-t-il une meilleure pratique pour générer du contenu externe? (JQuery est la solution?)Quelle est la meilleure façon d'inclure du contenu externe en utilisant php includes? (Pour les développeurs web qui aiment les pratiques optimales)

index.php

<?php include("header.html"); ?> 
<?php include("navigation.html"); ?> 
<div id="content"> 
    <h2 class="clear">This is the contact page</h2> 
     <p> 
     Main content here... Main content here... Main content here... Main content here... 
     Main content here... Main content here... Main content here... Main content here... 
     Main content here... Main content here... Main content here... Main content here... 
     Main content here... Main content here... Main content here... Main content here... 
     Main content here... Main content here... Main content here... Main content here... 
     Main content here... Main content here... Main content here... Main content here... 
     </p> 
    </div> 
<?php include("footer.html"); ?> 

header.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> 
    <title>Study at Best</title> 
    <script type="text/javascript" src="scripts/jquery-1.3.2.min.js"></script> 
    <script type="text/javascript" src="scripts/jquery.corner.js"></script> 
    <script type="text/javascript" src="scripts/jquery.dropshadow.js"></script> 
    <script type="text/javascript" src="scripts/jqueryScripts.js"></script> 
    <link rel="stylesheet" rev="stylesheet" href="styles/layout.css" /> 
    <link rel="stylesheet" rev="stylesheet" href="styles/ddm.css" /> 
</head> 
<body> 
<div id="container"> 
    <div id="header"> 
    This is the header 
    </div> 

footer.html

<div id="footer"> 
     <p>BEST School &copy; Copyright 2009</p> 
    </div> 
</div> 
</body> 
</html> 
+0

Voir le modèle de design MVC –

+0

Selon moi, cela ne semble pas correct. Je veux dire simplement ne pas le faire pour vous. Ce sera un cauchemar si le site devient plus complexe. Qu'en est-il seulement de mettre le pied de page div dans footer.html de la même manière pour header.html? Le reste appartient à index.php. Si index.php devient complexe, divisez-le en plus (javascript.html ..). – merkuro

Répondre

0

Dans mon opinion personnelle, cela ne semble pas correct. Je veux dire simplement ne pas le faire pour vous. Ce sera un cauchemar si le site devient plus complexe. Qu'en est-il seulement de mettre le pied de page div dans footer.html de la même manière pour header.html? Le reste appartient à index.php. Si index.php devient complexe, divisez-le en plus (javascript.html ..). - merkuro 20 juin à 21:22

+0

Vous avez raison, c'est mieux! – alexchenco

0

Quel problème est-ce causé? C'est une pratique assez standard (je l'utilise), et je ne l'ai jamais su créer de problèmes. jQuery ne devrait pas poser de problème car aucun code jQuery n'est exécuté tant que tout le code html n'a pas été joint.

0

Cela ne devrait poser aucun problème. Personnellement, si la navigation était simple, je la mettrais dans l'en-tête, et sinon, je la générerais dynamiquement via PHP et la mettrais dans une classe, et j'inclurais cette classe dans l'en-tête.

0

Je ne vois pas de problème avec ça. J'ai utilisé cette technique plusieurs fois auparavant. Pour moi, tout est bien organisé. Et comme l'a dit Jonathan Sampson, il ne devrait pas y avoir de problème avec jQuery.

0

Hm, ok, je ne sais pas si c'est la meilleure façon de le faire, mais ce que j'ai tendance à faire est d'avoir un fichier de modèle qui contient à la fois l'en-tête, le pied de page, les menus , côté gauche, côté droit, tout ce qui n'est pas spécifique à une seule page, y compris tous les js comprend et tels. Et puis le index.php aurait simplement une variable de contenu dans laquelle tout le contenu de l'index va. A la fin de l'index je demande alors le fichier template qui place la variable "content" à l'endroit où elle appartient et tada, tous vos maux de tête sont terminés.

Questions connexes