Hi there,

The "make the starting level follow the active menu item" option is wonderful. The only problem is that setting "Children of active menu" gives me a menu that is identical to "Active menu item." So, for example, I have a 4th-level page. I want to have one menu showing where they are ("Starting level: 4th level, active menu item") and showing children ("Starting level: 4th level, children of active menu item"). But it doesn't work - it shows active menu only.

Related to that, and maybe this should be in its own thread as a feature request, I wouldn't even need the children functionality (though of course it has other uses) if there was a way to make the block title link to the parent item (which is set as the title anyway, so that shouldn't be too hard...). Is that possible?

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

JohnAlbin’s picture

Status: Active » Postponed (maintainer needs more info)
FileSize
76.17 KB

I can't reproduce this. See the screenshot that shows the functionality working fine.

Can you give more details of when this doesn't work?

BTW, if the active menu item doesn't have any children, the two blocks will be identical.

Renee S’s picture

if the active menu item doesn't have any children, the two blocks will be identical.

Ah, that's the problem. Any way to set it only to show up if children exist?

JohnAlbin’s picture

Status: Postponed (maintainer needs more info) » Active

I made a specific exception to show the block even when the active menu item has no children. It seemed kind of mean to yank the navigation block away from the user just because their are no children menu items.

Perhaps, this introduces too much of an inconsistency though. :-\ What do you think?

Also, see #345419: Add option for menu title as link.

Renee S’s picture

>> I made a specific exception to show the block even when the active menu item has no children. It seemed kind of mean to yank the navigation block away from the user just because their are no children menu items.

Well, I agree, sort of, but the flip side is that the user should be selecting whether or not they want a current-level menu on any particular menu level, rather than having the functionality effectively change for one of their menus.

Here's what I'm doing:

Page A
- Page i
-- Page a
-- Page b
-- Page c
- Page ii
Page B

We want:

On Page A:
Menu 1: Page A B <- Siblings (show current level only)
Menu 2: Page i ii <- Children (show children)

On Page i:
Menu 1: Page i ii <- Siblings (show current level only)
Menu 2: Page a b c <- Children (show children)

On Pages a b c:
Menu 1: Page i ii <- Parents (show parent level - not available, right now shows current level a b c)
Menu 2: Page a b c <- Siblings (show children, but defaults to current level only)

So it's not disappearing Menu 2 that I actually want, it's getting parents on Menu 1 if 2+ levels below it, say, don't exist. But realizing the programming realities of that, I'd be almost be as happy with just Menu 2 disappearing if no children, and Menu 1 continuing to do what it does... but not totally happy. :)

Right now on that third level I just get

Menu 1: a b c <- show current level only, original functionality
Menu 2: a b c <- defaults to show current level only, changed functionality

At least getting rid of the menu if it doesn't have children would result in

Menu 1: a b c
Menu 2: (hidden)

... somewhat better, still not what I'd like - but at least no duplication. :) The way I have it set up. there's no yanking, the user still gets current level wherever they go. If the user wants current level default at the end of the chain, they could configure the menu to show 2 levels including current. That's what I might end up doing, but it's not as pretty with the way my pages are laid out.

(thanks for the link, btw, I keep having to remind myself one issue per post :)

mrfelton’s picture

+1 for Menu 2 disappearing if it has no children

In my case, I have this menu structure, named 'about'

- page1
  - page 2
    - page 3
      - page 4

I have 1 menu_block set up as follows:

Parent item menu: about
Parent item Item: page 1
Starting level: 2nd level secondary
Make the starting menu follow the active trail: TRUE
Starting level will be: Children of active menu
Max depth: 1

Everything is cool, and for every page I visit, I get a menu that just shows child items. However, when I get to page 4, I get a menu showing page 4. I want the menu to disappear at this point sine it has no children.

JohnAlbin’s picture

Ok, I'll definitely remove the exception so that the menu disappears if it has no children. That'll make it more consistent. I'll make sure that change is made before 6.x-2.3 is released.

Dmitriy.trt’s picture

Patch to fix problem for menu with "Starting level will be: Children of active menu", for version 6.x-2.2

Dmitriy.trt’s picture

Status: Active » Needs review
hefox’s picture

Review: Patch working as expected (manually applied since it was so small, but changes are working).

:)

JohnAlbin’s picture

Title: Not working: Starting level will be: Children of active menu » Inconsistent display of starting level set to children of active item
Status: Needs review » Fixed

Thanks, Dmitriy! You're in the CHANGLOG now! :-)

Committed.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

blackandcode’s picture

Version: 6.x-2.x-dev » 7.x-3.x-dev
Status: Closed (fixed) » Active

I think that is more better not to give and option to admin to choose to if thay want to display the last know level or not.

JohnAlbin’s picture

Version: 7.x-3.x-dev » 6.x-2.x-dev
Status: Active » Fixed

I think there are like 3 other issues requesting admin configuration for this old behavior. Let's not re-open this issue.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.