Comment afficher des sous-menus des liens primaires dans Drupal ?
Référence en anglais sur drupal.org : http://drupal.org/node/685664
15 Janvier 2010 - 15h52
Étape 1 : puisque nous allons utiliser du code PHP dans un bloc pour afficher un menu, la première chose à faire est d'activer le filtre PHP dans la page Modules ( menu Administrer > Construction du site > Modules, groupe Core - facultatif).
Étape 2 : allez dans Administrer > Construction du site > Blocs > Ajouter un bloc et créez un nouveau bloc. Ajoutez une Description du bloc (j'indique sous-menu). Choisissez PHP Code comme Format d'entrée et collez le code suivant dans la zone réservée au Corps du bloc :
<?php
$menuItems = menu_tree_page_data('primary-links');
foreach($menuItems as $key => $m) {
//check current active menu
if ($m['link']['in_active_trail'] && $menuItems [$key]['below']) {
$menu = menu_tree_output($menuItems [$key]['below']);
}
}
//print the menu
print $menu;
?>Assurez-vous d'avoir vos délimiteurs PHP dans votre code. Cliquez sur Enregistrer le bloc.
Étape 3 : placez votre bloc dans la région de votre choix, et c'est tout. La prochaine fois que vous sélectionnerez un élément de menu dans les liens primaires, ses sous-menus s'afficheront dans le bloc.
Vous pouvez utiliser active-trail pour styliser l'élément de menu sélectionné.
- Version imprimable
- Ajouter un commentaire
- 922 lectures



Commentaires
et si on n'utilise pas les liens primaires?
Bravo pour vos tutoriels, ils sont simples et clairs.
Je cherche à faire la même chose, mais avec nice-menu en menu principal, est-ce réalisable aussi simplement?
Juste un petit peu plus...
Bonjour,
Est il possible d'afficher (simplement) le menu horizontalement en utilisant cette méthode ?
Merci.