![]() Christophe Battarelfrom Grenoble-Chambery 906 posts | Je me demandais si il était vraiment nécessaire de rajouter une fonction à la classe Page ? un simple layout passé en paramètre à la fonction Page::tabs ne serait-il pas suffisant ? Il suffirait ensuite d'utiliser ce layout au lieu de "tabs" (que l'on garde en valeur par défaut) lors de l'appel à la fonction Sections::list_by_title_for_anchor. Nous aurions comme modif de page.php : Christophe Battarel - Société altairis -
|
![]() Alexis Raimbaultfrom Mulhouse 1156 posts |
Christophe Battarel : effectivement, qui peut le plus peut le moins ! aussi le menu horizontal devrait être capable d'afficher les onglets actuels. Je vais donc considérer d'enrichir page::tabs plutôt que de faire une nouvelle fonction quasi identique. Note qu'à l'intérieur de tabs il y aura quelques changements, car pour chaque item renvoyé par un premier list_by_title_for_anchor il faut recommencer la même requette pour trouver les sous-sections. Le premier appel se fait toujours avec le layout tabs, et les suivants avec celui en paramètre de la fonction. ![]() |
![]() Jmarcfrom Cannes 630 posts | " le lien vers une sections mère (en onglet) n'est actif que si elle ne possède pas de sous-sections (donc pas de menu déroulant). " Dans ce cas, on ne peut plus utiliser l'onglet pour accéder à la section mère... on fait comment alors ? N'est-il pas possible de dérouler la liste des sous-section en laissant le curseur de la souris dans l'onglet de la section mère ? (pour pouvoir continuer de cliquer dessus pour accéder à la section mère). |
![]() Alexis Raimbaultfrom Mulhouse 1156 posts |
Jmarc : très bonne question Jmarc ! j'ai cogité dessus et même experimenté sur un site avec des usagers (en préparation)
C'est à débattre bien sur. Mais je ferais ainsi dans un premier temps, on verra après essai sur béta si cet accès manque. La section mère est toujours accessible en remontant via le fil d'ariane ou bien via la carte du site. ![]() |
![]() Jmarcfrom Cannes 630 posts |
Alexis a écrit : " à partir du moment où le menu se déroule, les utilisateurs se rendent rarement compte qu'ils peuvent cliquer sur l'onglet lui-même. " Mais si l'utilisateur ne sais pas quelle sous-section choisir, il voudra alors cliquer sur l'onglet de la section mère... " La vision de la section mère proposera rien de plus que le menu déroulant " c'est une bonne remarque ! " sinon ... je dois remanier plus de code " Fainéant ! " je ferais ainsi dans un premier temps, on verra après essai sur béta si cet accès manque. " Ok. |
![]() Alexis Raimbaultfrom Mulhouse 1156 posts |
Jmarc : bonne nouvelle pour toi : j'affiche encore le lien vers la section mère, et sans me prendre la tête. ![]() |
![]() Jmarcfrom Cannes 630 posts |
Alexis : excellent ! |
![]() Alexis Raimbaultfrom Mulhouse 1156 posts | J'ai quasiment terminé de quoi vous livrer une beta. J'ai testé sur skeleton, differentb et 1 skin "vide", avec pour le dropdown des sous-sections un layout "compact" ainsi qu'un nouveau "smartlist". note : le layout pour lister les sous-sections doit fournir une liste non-ordonnée. j'ai encore des interférence CSS avec le "youarehere" des tabs. voici les éléments impactés dans le code :
pouvez déjà réagir sur l'impact, les noms employés, etc. pour smartlist j'aurais pu faire toute la mise en forme dans le layout mais en appelant skin::build_list il me fait tout le boulot. Comme il s'agit de mettre ce travail dans la référence, j'en profite. ![]() |
![]() Jmarcfrom Cannes 630 posts |
Alexis a écrit: " ajout d'un layout layout_sections_as_smartlist.php qui contient dans une liste non ordonnée l'icone, le titre et l'intro (et aussi les new,updated, private...) de chaque section (icon alignée à gauche comme une colonne séparée) " ça fait beaucouo d'info... Visuellement, cela ne fait pas des listes déroulantes trop étendues en surface ? j'ai hate de tester... |
![]() Alexis Raimbaultfrom Mulhouse 1156 posts |
" j'ai hate de tester " oui il faut que je vous fasse un paquet et une notice. ça vient " ..trop étendue... " non je limite par CSS la taille des vignettes et par skin::strip la taille de l'intro. Chacun pourra adapter. ![]() |
Communauté « Horizontal drop-down menu «
Analyse fonctionnelle
J'ai commencé à m'y atteler, voici les solutions vers lesquelles je m'oriente.
- création d'une nouvelle fonction page::hdd_menu() dans page.php pour réaliser le menu.
- le code pourra cependant se placer dans le skin.php de notre thème pour les anciens serveurs.
- Le canevas de la fonction ressemble fortement à page::tabs().
- j'ai seulement en plus un argument $layout qui permet de choisir la mise en forme du listage des sous-sections. (avec ou sans vignette, layout personnalisé, etc...)
- la fonction utilise les outils yacs existant sections::list_by_titles_for_anchor() et skin::build_list()
- le lien vers une sections mère (en onglet) n'est actif que si elle ne possède pas de sous-sections (donc pas de menu déroulant).
- le nb d'onglets affichés est limité par le nb de sections affichées à la raçine.
- le nb de sections listées en sous-menu est défini par la constante HDDM_LIST_SIZE. (peut être surchargé dans skin.php)





