Submitted by 1baraki on
Bonjour,
J'ai un menu principal en lien primaire et ses "enfants" en lien secondaire. Si je déclare les éléments du menu secondaire comme enfants du lien primaires ils deviennent des liens primaires (logique) et je ne peux donc pas les installer dans le design des liens secondaires.
Cependant, est-il possible de ne faire apparaitre les liens secondaires que lorsqu'on est dans une rubrique d'un lien primaire donné ? Ce lien primaire pourra-t-il être actif ? Avez vous une autre idée ?
AFAIK ça ne marche pas
Permalien Soumis par Yoran le 15 Juillet, 2009 - 11:53
AFAIK ça ne marche pas comme cela. Liens primaires et secondaires sont deux choses à garder à l'esprit comme totalement séparés. Généralement les primaires sont les liens que l'on trouve en haut à gauche (connectez-vous, deconnectez-vous, contact, etc.), et les secondaires sont souvent utilisés pour un rubriquage.
Par défaut les secondaires sont sur un seul niveau, mais tu peux très facilement modifier cela en récupérant le menu "secondary links" par un
$secondary_links=menu_tree_page_data(variable_get('menu_secondary_links_source', 'secondary-links'));
et fabriquer une arborescence de<ul><li><ul> ...
avec cela. Tu places tout cela dans ton fichier template.php dans une fonctionmon_theme_preprocess_node($&vars)
en injectant ton menu XHTML dans une variable (ex. $var['mon_menu']). Ensuite tu n'as plus qu'à habiller tout cela de CSS pour faire ce que tu veux (menu déroulants, menus en 2 parties comme tu sembles vouloir le faire, etc.). J'utilise ce principe sur http://artisan.karma-lab.net pour faire des menus déroulants avec une feuille de style type "suckerfish" classique. Si tu veux, passe par un PM et je peux te filer le code qui transforme l'objet menu en une arborescence exploitable en CSS.