Aller au contenu

include sur fichier menu.html contenant script et style


instadm

Sujets conseillés

Bonjour j'utilise le menu de ce lien http://moncastel.9online.fr/menu_deroulant/

ce que je voudrai c'est de garder le menu dans un fichier à part et que toutes les pages de mon site ont un includes sur ce menu,

comme ca pas besoin de le modifier sur toutes mes pages.

includes fonctionne mais ne prend pas en compte le sript et le style.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour

Je le fais souvent en mettant le menu dans un fichier php, les styles dans une feuille de style et le javascript soit dans un fichier indépendant, soit dans le fichier du menu. Pour moi ça fonctionne.

Et puis j'utilise la fonction require...

Lien vers le commentaire
Partager sur d’autres sites

Si tu fais une inclusion de la page HTML du menu, tu va te retrouver avec des gros problèmes de structure.

Je veux dire que si ton index.php (par exemple) génère du HTML le document va normalement débuter par les balises DOCTYPE HTML, etc... et tout les css et javascript que tu y a mis. Le problème se pose quand tu vas inclure ton fichier menu.html (par exemple). Si, celui ci, comprend les balises qui n'ont pas affaire dans le BODY de ton document, tu va te retrouver avec un entête HTML dans un fichier qui en contient déja une. Disons que ce n'est pas la meilleure solution.

De plus, ton code JavaScript et ton CSS qui sont dans le fichier menu.html ne seront pas interprétés (par la majorité des navigateurs) car ils doivent normalement se retrouver dans le HEAD (entre <head> et </head>).

La solution c'est de créer un fichier de style style_menu.css (par exemple) et d'y copier le code CSS qui est dans menu.hmtl (entre les balises <style> et </style>). Ensuite, tu fais la même chose avec le JavaScript mais dans un fichier script_menu.js (par exemple). Le JavaScript se retrouve entre les balises <script> et </script>.

Tu va éditer ton fichier menu.html et en enlever toutrs les balises qui se retrouves avant et après la balise <body></body> (enlève <body> et </body> aussi).

Pour terminer, dans ton index.php, tu fais l'appel (en HTML) au bon endroit (entre <head> et </head>) de tes fichier CSS et JavaScript :

<style type="text/css" media="all">@import url(url_de_ton_fichier_css.css);</style> pour le CSS et : <script type="text/javascript" src="url_vers_ton_fichier_javascript.js"></script> pour le JavaScript.

Tu appel ton fichier menu.html où tu le veux dans ta page avec la fonction include_once('menu.hmtl') ou require_once('menu.html') (considérant menu.html dans le même répertoire que ton index.php).

En espérant répondre à ta question!

Lien vers le commentaire
Partager sur d’autres sites

Merci mais désoler je n'y arrive pas. Je débute.

voila mon fichier menu.htm :

code :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">

<head>
<link rel="stylesheet" type="text/css" media="screen" href="menu.css" />
<script type="text/javascript" src="menu.js"></script>
</head>

<body onload="initMenu( 'menu','mh' )">
<ul id="menu">
<li>Présentation du Lycée<ul>
<li>Mot du proviseur
</li>
<li>Plan du lycée


</li>
<li>CDI
<ul>
<li>Présentation<li>BCDI WEB
</ul>
</li>

<li>Résultats</li>
<li>Contacts</li>
</ul>
</li>
<li>Vie Lycéenne<ul>
<li>Présentation</li>
<li>Le Foyer Socio Éducatif
<ul>
<li>Présentation<li>Les Clubs
</ul>
</li>
<li>Le Conseil de Vie Lycéenne
<ul>
<li>Présentation<li>Les Élus
</ul>
</li>
</ul>
<li>Formations & Études 


<ul>
<li>Formations</li>
<li>Disciplines
<ul>
<li>Lettres
<ul>
<li>Français (2de-1ere)</li>
<li>Litterature (Terminal)</li>
<li>Langues Anciennes (2de-1ere-Term.)
<ul>
<li>Latin</li>
<li>Grec</li>
</ul>
</li>
</ul>
</li>
</ul>
<li>Orientations</li>
</ul>
</li>
</ul>
<!-- #EndLibraryItem -->
</body>
</html>

Donc ce fichier html fonctionne bien mais rien à faire pour l'integrer à mon index.php

Je fait comme explique "simminfo" mais le menu sort en html pure, je comprend bien la logique de ton explication.

EDIT MODERATEUR : Merci d'utiliser [ CODEBOX ] pour les codes longs et [ CODE ] pour les plus cours.

Lien vers le commentaire
Partager sur d’autres sites

OK merci.

J'ai trouver, finalement grace a l'expliquation de simminfo, je devais ajouter à mon fichier php

[ CODE ]

<body onload="initMenu...

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...