Solved

Drupal menu block

Posted on 2010-09-12
9
509 Views
Last Modified: 2012-05-10
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
Comment
Question by:glepiza
  • 5
  • 4
9 Comments
 
LVL 17

Expert Comment

by:Thomas4019
ID: 33658303
Could probably be done using the advice here, http://drupal.org/node/201948.

What exactly are you trying to achieve?
0
 

Author Comment

by:glepiza
ID: 33658342
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
 
LVL 17

Expert Comment

by:Thomas4019
ID: 33658377
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
 

Author Comment

by:glepiza
ID: 33658552
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
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 17

Accepted Solution

by:
Thomas4019 earned 500 total points
ID: 33658575
Yeah. sprites cannot be easily embedded unless you add HTML using a Drupal theme function.
0
 

Author Closing Comment

by:glepiza
ID: 33658591
Thanks Thomas!
0
 

Author Comment

by:glepiza
ID: 33658596
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
 
LVL 17

Expert Comment

by:Thomas4019
ID: 33659108
0
 

Author Comment

by:glepiza
ID: 33659255
Thanks so much Thomas, I would give you more points if I could. Thanks very much.

Winter
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

Suggested Solutions

DotNetNuke (DNN) (http://www.dotnetnuke.com) is a leading open source web content management system (CMS) and application development framework for Microsoft .NET. Localization is an essential part of building websites, especially in countries that …
This article will shed light on the latest trends when it comes to your resume building needs. For far too long, the traditional CV format has monopolized the recruitment market.
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now