• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 527
  • Last Modified:

Drupal menu block

Hello Experts,

I was wondering, is there a way to add  a different class to the each link in the drupal menu block? I can add a class to the block using the block class module, but I don't know how to add a class to each link of the menu block.
Attached goes a pic of the structure of my meny block using firebug.
I will really appreciate your help.

Thanks in advance,

Winter

PS. Also, do you know how can I rename that .leaf class?
Picture-9.png
0
glepiza
Asked:
glepiza
  • 5
  • 4
1 Solution
 
Thomas4019Commented:
Could probably be done using the advice here, http://drupal.org/node/201948.

What exactly are you trying to achieve?
0
 
glepizaAuthor Commented:
Hi Thomas!, thanks for your answer, I am going to take a look at it.

I am trying to add an sprite image to the block menu to show active, hover and and visited state. That is why I need at least to have the class of each link


Thanks :)
0
 
Thomas4019Commented:
Hmm, I don't see why you couldn't just use the classes you've already been given. The A tags have the "active" class if they are the page currently open. You can use pseudo classes for the rest, http://www.w3schools.com/css/css_pseudo_classes.asp.

The you could apply a CSS property like the attached. If it doesn't make sense refer to these,
http://www.w3schools.com/Css/pr_text_text-indent.asp
http://www.w3schools.com/css/pr_background-image.asp


Sounds like you want something similar to this, http://drupal.org/project/menu_icons. The module probably could be hacked a bit to do what you want.
.menu a {
  text-ident: 30px;
  background-image:url('regular.gif');
}

.menu a.active {
  text-ident: 30px;
  background-image:url('active.gif');
}

.menu a:hover {
  text-ident: 30px;
  background-image:url('hover.gif');
}

.menu a:visited {
  text-ident: 30px;
  background-image:url('visited.gif');
}

Open in new window

0
Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

 
glepizaAuthor Commented:
Thanks Thomas,

I think I am going to use your advice. I wanted to add specific class to each link to be able to use one sprite image that contains the three link states instead of using different images for each link state. To use an sprite image I need to use a different background position to each link class.  But I have a feeling that is going to take me longer than I expect to add those classes unless I use some javascript, what do you think?

Thanks again!

0
 
Thomas4019Commented:
Yeah. sprites cannot be easily embedded unless you add HTML using a Drupal theme function.
0
 
glepizaAuthor Commented:
Thanks Thomas!
0
 
glepizaAuthor Commented:
Could you please let me know what documentation should I read to add theme functions? I may want to give it a try later on, not today though :) Thanks.
0
 
Thomas4019Commented:
0
 
glepizaAuthor Commented:
Thanks so much Thomas, I would give you more points if I could. Thanks very much.

Winter
0

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now