Solved

How do I programmatically expand a Drupal 6 navigation menu entry?

Posted on 2010-08-15
5
604 Views
Last Modified: 2012-05-10
I have written a custom module that creates several top level entries in the navigation menu.  When a user selects one of these entries and navigates into it, the menu tree is expanded as selections are made.  However, selecting an entry that creates, views or edits a node, causes Drupal to redirect to "/node/xxx" or "/node/xxx/edit".  This results in the custom navigation menu tree collapsing, so that the user has to re-navigate it again to select another entry.

I can mark the menu entries as permanently expanded, but then the navigation menu is too busy as the trees show on all pages whether the user is using that function or not.

Are there any mechanisms to programmatically expand a menu item so that the relevant menu tree remains visible when the user has been re-directed away?

Thanks
0
Comment
Question by:jayelless
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
5 Comments
 
LVL 17

Expert Comment

by:Thomas4019
ID: 33446403
This modules not perfect, http://drupal.org/project/dhtml_menu, but might help.
0
 

Author Comment

by:jayelless
ID: 33449613
Thanks for pointing out that module.  It looks as though it may do some of what I am wanting, but is not the approach I was hoping to be able to take.  For performance reasons, I am trying to keep the amount of javascript deployed with each page to a minimum.

I am hoping that someone might know of some variables that can be set programmatically that will cause the Drupal rendering routines to expand a particular menu item.  When the item is selected via normal navigation, Drupal knows to expand it, so there should be a setting somewhere that controls this behaviour.

Regards
0
 
LVL 2

Accepted Solution

by:
TheChemic earned 125 total points
ID: 33492845
I dont know much about custom drupal modules.  However, I solved a similar problem myself.  I have several tabs and I wanted drupal to remember the last tab a user had viewed.  Each time the user would visit a page with those tabs, his "last viewed tab" would be selected and open by default.

I just created a custom session variable and stored the "last tab" info into it, then and hard coded the script into a template file.  I did not create a module.  This is not the "drupal way" but it worked just fine for me.
0
 

Author Comment

by:jayelless
ID: 33493057
Thanks for the suggestion.  It is an approach I have not yet considered, but it seems to be an approach that fits with my objectives, so I will explore this idea to find a solution to my problem.

Regards,
0
 

Author Closing Comment

by:jayelless
ID: 33493058
Maybe my question was too difficult or not well expressed.
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

So you have coded your own WordPress plugin and now you want to allow users to upload images to a folder in the plugin folder rather than the default media location? Follow along and this article will show you how to do just that!
This article describes how to create custom column layout styles for Bootstrap. The article uses 5 columns to illustrate the concept, but the principle can be extended to any number of columns.
In this tutorial viewers will learn how to style rounded corners for elements in CSS using the border-radius property Begin with a normal styled element such as a div: To style all four corners of the div to be the same degree of roundness, use the …
The viewer will learn the benefit of using external CSS files and the relationship between class and ID selectors. Create your external css file by saving it as style.css then set up your style tags: (CODE) Reference the nav tag and set your prop…
Suggested Courses

617 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