Bonjour
La question a souvent été posée:
Comment réaliser un menu dont le contenu puisse être modifié et qui, après modification, sera reproduit sur toutes les pages du site web, sans qu'il soit nécessaire d'éditer chaque page?
Ci-dessous, quelques éléments de réponse.
- Il est nécessaire d'avoir un hébergeur qui supporte le PHP
- Je pars de l'hypothèse que:
* le "Gestionnaire de sites" est configuré pour le traitement du site local
* l'excellent et indispensable NsmContext est installé.
- Etablir une page type pour le site web. Dans cette page, incorporer le menu dans un bloc.
<autopromo>
Voir, éventuellement, la structure proposée dans: http://info.sio2.be/NVU/1/2.php .
</autopromo>
Idéalement, ce bloc de menu doit avoir le style "height: auto" afin qu'il s'adapte à son contenu.
- Lorsque le menu est au point, se munir d'une pince de chirurgien et entrer dans l'onglet "Source" afin de procéder à la menuectomie.
- Repérer le fragment de code HTML qui correspond au menu. Par exemple, quelque chose comme
Code : Tout sélectionner
<ul>
<li><a href="page1.html">item1</a></li>
<li><a href="page2.html">item2</a></li>
<li><a href="page3.html">item3</a></li>
<li><a href="page4.html">item4</a></li>
</ul>
Préparer la page qui va contenir le menu et rien que le menu.
- Fichier > Nouveau
- Enregistrer la page vierge sous le nom "menu.inc.php"
- Fermer cette page sans y avoir rien apporté.
- Dans le gestionnaire de sites, faire un clic droit sur le nom du fichier "menu.inc.php" et l'ouvrir sous Notepad ou Context (par exemple) : merci NsmContext
- Dans l'éditeur choisi, coller le fragment de code correspondant au menu.
- changer tous les .html en .php
Le menu devient donc
Code : Tout sélectionner
<ul>
<li><a href="page1.php">item1</a></li>
<li><a href="page2.php">item2</a></li>
<li><a href="page3.php">item3</a></li>
<li><a href="page4.php">item4</a></li>
</ul>
Retour dans NVU à (aux) la page(s) qui doivent contenir le menu (nous avions laissé le patient sur la table d'opération).
- A l'endroit où le menu doit venir prendre place, insérer un fragment de code PHP: Insertion > Code PHP
- écrire
Code : Tout sélectionner
include ("menu.inc.php");
- enregistrer le fichier ainsi modifié et le publier avec FileZilla, par exemple
- uploader également le fichier "menu.inc.php"
- voir la page publiée
A la place du code PHP se présente le menu souhaité.
Faire de même pour toutes les pages (menuectomie et greffe d'include) du site web existantes ou à venir.
Lorsque de nouvelles pages sont ajoutées au site, revoir le fichier "menu.inc.php" pour qu'il pointe également vers ces pages-là. Plus rien d'autre à faire au niveau des pages existantes.
Remarques importante:
Chacune des pages qui contiendra l'include *doit* être munie de l'extension .php. Il faut donc probablement ré-enregistrer chacune de ces pages après insertion du code PHP.
Pour éditer les pages .php créées, il n'est plus possible de faire un double clic sur le nom du fichier dans le gestionnaire de site. A la place: clic droit sur le nom du fichier, sélectionner "Nouvel onglet" ou "Nouvelle fenêtre".
Attention, si la page est déjà ouverte, le Gestionnaire de sites se plante lamentablement!!
Voilà, ceci est certainement à retravailler.
Merci pour vos remarques, rectifications, modifications.
Ah, évidemment, s'il y avait un Wiki...
[edit]Exemple à télécharger et à tester:
http://sapajou.be/menu/
[/edit]
Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1