Isoler un élément de menu spécifique avec $mid

Date du document en anglais : 26 Août 2009 - 23h52 - http://drupal.org/node/198634  



On a parfois besoin de styliser un élément de menu en particulier (pour lui donner une couleur différente par exemple). En ajoutant $mid dans la classe de chaque élément de menu, on les contrôle entièrement avec les CSS.

La fonction modifiée ressemblera à ceci :


<?php
function phptemplate_menu_item($mid$children ''$leaf TRUE$extraclass '') {
  return 
'<li class="'. ($leaf 'leaf' : ($children 'expanded' 'collapsed')) . ($extraclass ' ' $extraclass '') .
 
' mid-' $mid '">'menu_item_link($midTRUE$extraclass) . $children ."</li>\n";
}
?>

Je n'ai fait qu'ajouter ". ' mid-' . $mid", sans me préoccuper de tests conditionnels puisque $mid est toujours déclaré.

Dans les CSS, j'utilise un sélecteur tel que #header .mid-123 pour atteindre l'élément de menu utilisé dans l'en-tête, etc. Ça marche très bien.

Commentaires

Poster un nouveau commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <css>, <php>, <html>, <ccss>, <ccss>, <drupal5>, <drupal6>, <html>, <javascript>, <php>. Beside the tag style "<foo>" it is also possible to use "[foo]".
  • You may use [view:viewname] tags to display listings of nodes.

Plus d'informations sur les options de formatage

CAPTCHA
Cette question permet d'éviter le spam :
14 + 6 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.