SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

100 visiteurs en ce moment

fontsizeup fontsizedown
Accueil du site > Contribs > Navigation > Menus déroulants > Plugin Menu déroulant > Un menu déroulant horizontal en plugin
[84 commentaires]

Un menu déroulant horizontal en plugin

samedi 16 décembre 2006, par Alexandra, Cedric Morin, L’instit

1 vote

Menu déroulant dynamique en plugin, sans limitation de niveaux de hiéarchie

Vous voulez un joli menu déroulant ?

Un joli menu qui descende dans tous les niveaux de la hiérarchie, qui ne soit pas seulement limité à deux ou trois sous-rubriques, même si la règle des trois clics reste une bonne règle de conduite, et tout cela en dynamique, ie, qui s’adaptera à vos changements de rubriques, rajout etc...

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. http://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...

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 :

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.

Retour en haut de la page

84 Messages de forum

Voir toute la discussion

Pages 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

  • Répondre à ce message

    3 juillet 00:16 , par Rizzi

    Perso, sans vouloir porter préjudice au travail présenté ici (merci beaucoup), j’ai testé celui proposé ici : http://www.spip-contrib.net/Babbibel,1225

    Franchement, moi, ça me convient très bien.

  • Répondre à ce message

    28 juin 19:41 , par Rizzi

    Bonjour Ce plugin me serait bien utile, mais j’aimerais qu’il finisse par la liste des titres des articles contenus dans la sous-sous-rubrique (enfin, moi, je n’ai pas de sous-rubriques, mais bon...) J’ai essayé de modifier la boucle mais je n’y connais rien...pas de message d’erreur, mais pas de modification dans le résultat non plus ;-) Pouvez-vous m’aider ?

  • Répondre à ce message

    13 juin 05:46 , par Jean Luc Girard

    Y a t il un moyen jquery de mettre un timer sur ce menu pour empêcher qu’il se ferme trop facilement dés que la souris sors des bord ? un petit délais de 500ms avant disparition du menu faciliterait énormément la navigation... [edit] : ya ça peut être plutôt : http://users.tpg.com.au/j_birch/plu...

  • Répondre à ce message

    9 juin 16:47 , par Jean Luc Girard

    Bon vu les explications même si il y a pas de démonstration j’imagine que ça donne quelquechose comme ça http://www.htmldog.com/articles/suc...

  • Répondre à ce message

    2 juin 11:52 , par Cedric Morin

    A priori pas de problème avec SPIP 2.0. Le plugin repose simplement sur des boucles, des css et 2 doigts de jquery, donc cela doit marcher sans soucis !

  • Répondre à ce message

    25 mai 16:05 , par Béat

    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.

  • Répondre à ce message

    21 mai 16:35 , par NiKo

    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 !

  • Répondre à ce message

    29 mars 10:52

    Salut,

    Ce plugin fonctionne impeccablement sous Spip 1.9.2.
    Est-il compatible avec la version 2.0 ?

    Amicalement.
    Arnaud

  • Répondre à ce message

    27 février 10:39

    Bonjour

    beaucoup de questions et peu de réponses... ! et voici une question supplémentaire :

    j’utilise ce plugin qui marche plutot bien, sauf sous opera, ou au survol de la souris, les sous-rubriques chevauchent les rubriques principales. Pas de pb sous Firefox, Safari et IE, mais avec Opera ça bug... si quelqu’un a une astuce ?

    merci

    valérie

  • Répondre à ce message

    4 février 19:37

    Bonjour à tous, J’ai installé ce menu déroulant qui répond exactement à ce que je cherche, mais ce dernier va se loger sous mon bandeau d’entête de site. Je ne comprends pas comment y remédier. Merci beaucoup pour votre aide. J’utilise la version SPIP2 + squelette AHUNTSIC Merci pour votre aide

Pages 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

Répondre à cet article

Retour en haut de la page

Ça discute par ici