Bonjour à tous,
J’aimerais d’abord signaler un
excellent document sur Wayfinder, en anglais:
http://wiki.modxcms.com/images/f/fa/Wayfinder200_docs_v6.zip
Ce document explique concrètement la hiérarchie de Wayfinder et est à mon avis bien plus détaillé et plus clair que ce que l’on trouve sur le site officiel de Wayfinder
www.muddydogpaws.com
Je l’ai découvert grâce au didacticiel sur Wayfinder 2 du Wiki en anglais:
http://wiki.modxcms.com/index.php/Wayfinder200
Maintenant, je suis confronté à un véritable mystère. (cf. pièces jointes)
J’essaie d’utiliser ce menu déroulant trouvé sur CSSPlay :
http://www.cssplay.co.uk/menus/final_drop.html
(Dans la même veine, il y a aussi la version 2 :
http://www.cssplay.co.uk/menus/final_drop2.html. Mais bon, commençons par la plus simple.)
J’ai observé que le code généré est différent selon que le navigateur est Firefox 3 ou IE 7.
(C’est du HTML 4.01 pour IE et du XHTML 1.0 pour Firefox 3.)
La feuille de style incorporée est également différente.
J’ai donc sauvé les deux feuilles de style dans des fichiers que j’ai appelé
multidrop.css et
multidrop_ie.css
dans le dossier "\assets\snippets\wayfinder\css".
J’ai adapté un fichier de configuration existant pour générer la même structure que celle que j’observe dans le code source du menu de démonstration. J’ai appelé ce fichier
multidrop.config.php et l’ai placé dans "\assets\snippets\wayfinder\configs".
Mon appel de Wayfinder dans le modèle :
[!Wayfinder? &config=`multidrop`!]
A mes yeux, la structure générée sous Firefox est semblable à celle du menu de démonstration de CSSPlay, hormis que pour ce dernier class="drop" ne figure pas dans les <a> des parentRow de tout premier niveau.
Je fais donc un copier-coller du code HTML généré par MODx et l’enregitre dans un fichier HTML statique.
J’enlève le class="demo" dans les parentRow de 1er niveau et enregitre ce fichier.
Si vous me suivez toujours, le code devrait être --et il me semble être-- 100% identique à celui de la démo de CSSPlay, hormis bien sûr le nom de mes menus. Or, lorsque j’affiche ma page sous Firefox, j’obtiens que les menus de 3ème niveau s’affichent en même temps que les ceux de 2ème niveau, alors qu’ils devraient attendre le survol des entrées de menu de 2ème niveau pour s’afficher. C’est à n’y rien comprendre; je ne trouve vraiment pas de différence dans le code.
Ci-joint, les 2 feuilles de style et le fichier de configuration du menu (pour lequel il vous faudra enlever l’extension .txt).
Qui saura apporter un regard neuf sur ce mystère ?
Au passage, je n’ai pas trouvé comment configurer Wayfinder pour empêcher l’ajout de class="drop" dans les parentRow de 1er niveau mais l’inclure dans tous les autres. Une idée ?
Merci.