2011-01-11 31 views
2

Ich habe mit Drupal Theming ziemlich erfolgreich herumspielen (oder zumindest, das ist, was ich denke), aber wenn ich versuchte, CSS-Codierung auf die primären Links Menü zu individualisieren, wie ich es im Allgemeinen über HTML + CSS, ich eine Wand treffen.drupal menü customizacion über css?

Ich konnte CSS-Stile auf Divs, Links und Text anwenden, aber ich möchte die primären (und sekundären) Links Menüs viel mehr, vielleicht mit einigen CSS Sprite-Menü-Techniken, aber Drupal-kompatibel bleiben und so viel von Drupal's eigenen PHP zu benutzen. oder wenn ich wirklich etwas Code umschreiben muss, stört es mich nicht, obwohl ich noch nicht ganz der Programmierer bin.

Ich war schon auf verschiedenen Seiten, aber ich habe nichts besonders nützlich, also wenn mir jemand in die richtige Richtung zeigen kann, werde ich sehr dankbar sein.

Danke im Voraus.

Antwort

0

Sie können eine ID-ähnliche Klasse für jeden Menüpunkt hinzufügen - diese Funktion in Ihrem template.php

function mythemename_menu_item_link($link) { 
    if (empty($link['localized_options'])) { 
    $link['localized_options'] = array(); 
    } 

    // LOOK HERE 
    // add a key for main menu items, so we can theme each item in a different way 
    // add this class only for a specific menu 
    if ($link['menu_name'] == 'menu-menu-mymenu') { 
    if ($link['localized_options']['attributes']['class']) { 
     $link['localized_options']['attributes']['class'] .= ' menu-'. $link['mlid']; 
    } 
    else { 
     $link['localized_options']['attributes']['class'] = 'menu-'. $link['mlid']; 
    } 
    } 

    return l($link['title'], $link['href'], $link['localized_options']); 
} 

Dieser Code kann sauberer sein, aber ich habe fügte mehr Zeilen hinzu, damit Sie es besser lesen können.

0

Wenn ich Ihre Frage richtig verstanden habe, möchten Sie eine benutzerdefinierte Klasse/ID zu Ihrem Menü hinzufügen. Dies kann durch Überschreiben des theme_menu_tree für ein bestimmtes Menü erfolgen. Ich tue dies für mein Hauptmenü, indem ich folgendes zu meiner template.php-Datei hinzufüge:

hoffe das hilft.

Sie sollten sich auch das Modul themer ansehen, das Ihnen Vorschläge für Vorlagenfunktionen und mehr bietet.

prost, Jørgen