Je viens de créer, à la demande de collègues, un module de navigation intitulé "Barre de menus déroulants" (id:menus_deroulants).
Ce module ne peut être (pour l'instant) utilisé que dans un skin.
Je suis parti du code et du css de http://zwook.ch pour développer ce module.
Il permet de créer une barre horizontale de menus déroulants (ou pas, car il peut s'agir d'un simple lien).
Trois types de menus sont possibles:
- Simple lien (sans menu déroulant).
- Menu d'une rubrique existante (le menu déroulant affiche les sous-rubriques).
- Menu déroulant de liens divers.
Pour chaque menu, on peut choisir (sans que ce soit une obligation) deux boutons : un "normal" et l'autre "over" (pour l'animation au passage de la souris). On peut également fixer les hauteur et largeur de chaque menu, modifier l'ordre des menus, supprimer un menu, etc.
J'ai introduit une originalité : le menu n'est pas configurable par le back office, mais directement dans une page utilisant le skin en question. Une icone contenant le mot "Config" affiché verticalement se trouve à la gauche de l'emplacement du menu déroulant ; il faut bien sûr cliquer dessus pour configurer la barre.
Je vous laisse découvrir ce module ; j'espère qu'il vous plaira.
J'ai dû mettre des styles en dur dans les balises html pour ne pas avoir à modifier le noyau de zwook ; de plus cette modification aurait ralenti le zwook (il aurait fallu vérifier si chaque élément du skin et de la page contenait ou pas un fichier .css).
J'attends vos critiques, suggestions, améliorations. J'espère de l'aide au niveau des css : le positionnement de l'icone Config me laisse perplexe, et j'aimerais que la couleur du menu déroulé corresponde automatiquement à une couleur fixée dans le css du skin.
- pour un menu de liens, permettre de modifier le lien vers lequel mène le clic sur le titre principal, voire le supprimer (lien vide), au lieu de se voir imposer le premier lien de la liste (ai-je été clair ?) (**EDIT**: Fait)
- pour un menu de rubrique, pouvoir indiquer l'adresse absolue vers la rubrique, le script se chargeant de la transformer en adresse relative. (**EDIT**: Fait, mais à vérifier sur un site faisant une redirection apache de la racine vers le zwook.)
- ouvrir les liens internes dans le même onglet, et les liens externes dans un nouvel onglet. (**EDIT**: Fait)
Si on répète le numéro d'un menu dans la liste "Ordre", par exemple 1 2 3 3 4 ou 1 2 3 4 3, et bien le menu en question (ici le troisième) est recopié ! Et à la bonne place en plus !
Premiers tests:
C'est une magnifique réalisation: je n'ose pas imaginer le temps que ça a dû te prendre.
En dehors d'apporter à Zwook le seul petit truc qui manquait, l'innovation de se passer du back-office facilite singulièrement l'utilisation pour les newbies.
L'interface de config est belle simple et efficace.
Ce qui est un peu déroutant, c'est de devoir donner le chemin de la rubrique telle qu'elle est sur le serveur et non telle qu'on la voit: j'ai mis un moment à comprendre que ma rubrique "La pratique" devait être donnée sous la forme "/la-pratique" (on a pas tous un zopemixid dans le crâne;)
Encore bravo et merci Claudiux!
La question du chemin avait également été soulevée par des collègues. Il est donc possible à présent de renseigner simplement l'URL de la rubrique, le script se débrouille pour en déterminer le chemin.
Il m'a également été demandé d'ouvrir tous les liens externes dans de nouveaux onglets, et tous les liens internes dans le même onglet. C'est en cours de réalisation.
C'est fait, y compris les suggestions précédentes.
La v0.5 me semble assez stable. Attention cependant ! Je ne l'ai pas testé en "mode singe", c'est à dire en rentrant n'importe quoi dans les champs des formulaires. Il reste à blinder de ce côté-là, surtout que c'est un module pour skin (faut pas planter les skins, c'est pô bien du tout !)