Vous voulez de plus qu’il soit full CSS, compliant W3C, sans tableaux, sans trop de javascript, et surtout compatible avec tous les navigateurs du marché...
Mais vous n’avez que 5 minutes pour le mettre en place, sinon, votre patron vous vire ?
Le père Noël a pensé à vous !


Installation
Téléchargement : Récupérer le zip «menu_deroulant» sur l’espace de téléchargement, ou le miroir, de spip-zone, cf. rubrique Produits finis
Mise en œuvre : Comme tous les autres plugins, cf. https://www.spip.net/fr_article3396.html
Pour installer ce plugin de menu déroulant, copier le contenu du zip dans le dossier plugins à la racine de votre site. Recopier le fichier inc-menu-deroulant.html ainsi que le fichier menu_deroulant.css dans votre dossier de squelettes. Cela vous permettra éventuellement de le personnaliser à souhaît, et surtout, de ne pas l’écraser ou le perdre lors d’une future mise à jour.
Versions inférieures à SPIP 1.9.2
Si vous êtes sur une version de SPIP antérieure à la 1.9.2, il vous faudra aussi installer le plugin jquery. La partie javascript initiale du script a en effet été réécrite en jquery pour assurer une parfaite compatibilité avec internet explorer.
Au delà de la 1.9.2, il sera inutile d’installer jquery, celui-ci a été intégré au core.
Dans vos squelettes
Il faudra aussi vous assurer que votre squelette a bien dans son entête la fameuse balise #INSERT_HEAD
, celle qu’on trouve dans le inc-head.html de la dist, balise permettant aux plugins d’insérer des appels javascript ou css. C’est un script PHP du plugin qui se charge d’insérer le script javascript pour internet explorer et la feuille de style. Par conséquent, même si le javascript a été désactivé, le menu fonctionnera sur tous les navigateurs sauf ie, qui lui devra se servir du petit script en jquery.
Insérer la noisette de menu déroulant où bon vous semble dans votre squelette (généralement en haut de page, en dessous du bandeau) par un inclure :
<INCLURE{fond=inc-menu-deroulant}{lang}>
Exemple
L’auteur de plugin nous fournit par ailleurs un squelette sommaire de la dist avec le menu déroulant en inclure, à titre d’exemple, pour que vous vous rendiez compte de ce que ca peut donner.
C’est le fichier menuder_sommaire_demo.html.
Pour l’appeler et le tester
http://www.monsitespip.net/spip.php?page=menuder_sommaire_demo
Et voilà le tour est joué !
Personnalisation
Pour personnaliser votre menu, vous pouvez modifier quelques lignes du fichier menu_deroulant.css :
la ligne :
[*border: solid #eda;
*]
sous
[*#nav, #nav ul
*] vous permet de régler la couleur des lignes entourant le menu.
La ligne [*background: #eda;
*] sous [*#nav li:hover, #nav li.sfhover
*] vous permet de régler la couleur de fond des items survolés.
Toutefois, notez que pour les changements de CSS, il faut y aller tout doucement, notamment à cause de l’éternelle problématique internet explorer. La feuille de style a été calibrée de façon très précise. Donc, pour plus de sûreté, nous vous conseillons de ne changer que les couleurs, ou de modestes petites choses, ca vous évitera bien des déconvenues. Ne pas trop jouer, à moins d’être un pro de la css qui connaît tous les mauvais tour d’internet explorer, sur les padding, les margin, les positions et sur les tailles etc...
Pour en savoir plus
Pour les petits curieux qui voudraient savoir d’où l’auteur a puisé son inspiration pour cette merveille de petit plugin, allez voir sur le site de htmldog. Il a remplacé toute sa partie javascript en jquery, et surtout trouvé la boucle qu’il fallait pour le rendre dynamique et non plus simplement statique.
On ne peut s’empécher de mettre ici cette boucle récursive, tant elle est belle et bien pensée:
<B_rubriques>
<ul>
<ul>
<BOUCLE_rubriques(RUBRIQUES) {racine} {par num titre, titre}>
<li>
<a href="#URL_RUBRIQUE"class="intitule">[(#TITRE|supprimer_numero|couper{80})]</a>
<B_sous_rubriques>
<ul>
<BOUCLE_sous_rubriques(RUBRIQUES) {id_parent} {par num titre, titre}>
<li>
<a href="#URL_RUBRIQUE" <BOUCLE_test_sousrub(RUBRIQUES){id_parent}{0,1}>class='daddy'</BOUCLE_test_sousrub>>[(#TITRE|supprimer_numero|couper{80})]</a><BOUCLE_re(BOUCLE_sous_rubriques)></BOUCLE_re> </li>
</BOUCLE_sous_rubriques>
</ul>
</B_sous_rubriques>
</li>
</BOUCLE_rubriques>
</ul>
</ul>
</B_rubriques>
Toute l’originalité de ce plugin est d’avoir trouvé la boucle qu’il fallait avec le meilleur exemple de menu déroulant qu’on puisse trouver. En effet,
ceux d’Alsa Création, par exemple, utilisaient les listes de définitions et se limitaient à deux niveaux. Cf http://css.alsacreations.com/xmedia....
On pourrait très certainement aussi arriver à pluginiser les modèles de menus déroulants proposés par CSSplay.
Discussions by date of activity
57 discussions
J’utilise le SPIP 2.1.0
Quels sont les fichiers qu’il faudra modifier pour passer d’un sommaire à la verticale droite à un menu de navigation placé en haut du site à l’ horizontal
Merci
Reply to this message
La dernière version 0.1.0 n’est plus compatible avec spip SPIP 2.1.11 [18566]
Il existe le menuderoulant 2 :)
c’est ce que j’ai fait. Merci.
Reply to this message
Bonjour,
La version compatible avec Spip 2 tant attendue est-elle sur le point d’être publiée?
Reply to this message
Même question qu’Arnaud, je serais très preneur du version pour Spip2, et je n’y connais rien en plug-in pour l’adapter moi-même !
Ah, ben tiens, moi aussi! Avant de prendre 3 jours à essayer pour rien, un petit mot (juste oui ou non ;-) serait le bienvenu.
Merci d’avance.
Ce plugin est-il compatible SPIP 2.0.x ? (Je préfère poser la question http://phpforms.net/tutorial/tutorial.html php tutorial .... ;-) )
Il suffit d’essayer pour se rendre compte que oui, ce plugin fonctionne toujours sous SPIP 2. Ceci dit, une mise à jour vient d’être faite : Menu déroulant 2.
tetue, ton lien n’est plus valide.
Reply to this message
Pour changer les couleurs, ça se fait dans menu_deroulant.css (il vaut mieux en mettre une copie dans le dossier /squelettes).
Pour la couleur de fond fixe, modifier ’background’ dans #nav, #nav ul
Pour la couleur de survol, modifier ’background’ dans #nav li:hover, #nav li.sfhover
Il peut aussi être nécessaire de rajouter un z-index (à 2 par ex) dans #nav-container si les blocs dépliants sont recouverts par certains blocs de la page (ça m’est arrivé).
Enfin le plugin fonctionne nickel dans spip 2.1 car il ne contient que du spip.
D’ailleurs si tu veux exclure des rubriques, il suffit de modifier la boucle du squelette inc-menu_deroulant.html (en en faisant là encore une copie dans /squelettes).
Je l’ai fait en utilisant un mot-clé ’exclure_menu’ pour plus de souplesse.
Reply to this message
Bonjour,
J’ai trouvé interressant ce plugin. J’essai de modifié la couleur du lien au survol mais ça ne passe pas.
J’aimerais savoir comment exclus certaines rubriques dans le menu?
Merci
Reply to this message
Bonjour,
Beau travail.
Cet excellent menu pourrait-il être adapté en version “Menu vertical” ?
Cordialement
FDG
Bonjour,
En ce sens, la contribution d’ Asteroiide pourrait-elle être publiée et mise à disposition sur cette page.
Et, cerise sur le gâteau, puisqu’aujourd’hui l’ergonomie moderne en raffole, en versions :
Cordialement
FDG
Reply to this message
je débute avec spip : pouvez-vous me renseigner pour savoir dans quel fichier coller pour que ce la fonctionne ?
merci
Reply to this message
Bonjour
Je viens juste de migrer un site spip de 1.9.2 vers 2.0.10 [14698] : je pensais que le plugin allait me lacher mais non.
Il fonctionne correctement ;-)
Merci !
Reply to this message
Ce plugin est-il compatible SPIP 2.0.x ? (Je préfère poser la question AVANT.... ;-) )
Reply to this message
Add a comment
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Follow the comments:
|
