Need a top-level menu item without a page

jbs

#8
The coding is there in the show_menu2 documentation; it just takes some working around. Here's the coding I got to work. My client wanted only select top menu items to not be clickable (links to page ID 4,6 and 57), so I used the following (in index.php of the template):



<div id="nav">

<?php show_menu2(0SM2_ROOTSM2_ALLSM2_ALL'<li>[if( id==4 || id==6 || id==57 ){<a>[menu_title]</a>}else{<a href="[url]" class="[class] navlev[level]">[menu_title]</a>}]'"</li>"'<ul class="ullev[level]">'"</ul>"true'<ul id="header_menu" class="menu">');?>

</div>




To disable all top menus where there is a sub-menu you can use the following:



<div id="nav">

<?php show_menu2(0SM2_ROOTSM2_ALLSM2_ALL'<li>[if( class==menu-expand ){<a>[menu_title]</a>}else{<a href="[url]" class="[class] navlev[level]">[menu_title]</a>}]'"</li>"'<ul class="ullev[level]">'"</ul>"true'<ul id="header_menu" class="menu">');?>

</div>



I figured someone else might find use for this code sometime.

jbs

I was gone for a week without internet access, so ended up having to let this drop. But I was thinking exactly the same thing, based on Snoork's coding. I'll give it a try and post the coding here if it works.

Argos

Quote from: jbs on July 28, 2010, 06:01:49 AM
Snoork -- they want some of the top menu items to work and not others, so I don't want to kill them all. But I'll keep this code for other uses; definitely useful in other cases.

You can add conditions to the menu call like (in pseudo code) "if page ID=xxx, then disable link". I'm no coder so I cannot give you the right code but I have seen it on the forum sometimes. Please search for it.
Jurgen Nijhuis
Argos Media
Heiloo, The Netherlands
----------------------------------------------------------------
Please don't request personal support, use the forums!

jbs

pieterb -- I was thinking of that and may end up doing that. But they would prefer if it just stayed where it is (similar to a "#" link would do on a hyperlink). If I can't find what they are looking for, I may do it that way.

DarkViper -- sorry, not following

Snoork -- they want some of the top menu items to work and not others, so I don't want to kill them all. But I'll keep this code for other uses; definitely useful in other cases.

snark

<div id="nav">
<?php show_menu2(1SM2_ROOTSM2_MAX+1SM2_ALL'<li>[if( level == 0 ){<a>[menu_title]</a>}else{<a href="[url]" class="[class] navlev[level]">[menu_title]</a>}]'"</li>"'<ul class="ullev[level]">'"</ul>"true
'<ul id="header_menu" class="menu">');
 ?>
<br style="clear:left;"/>
</div>


disables the top level-link

DarkViper

Simply click 'Home' on top of this side and then explore the menu.
[url=http://www.youtube.com/watch?v=tmzDAz6ZvFQ]Der blaue Planet[/url] - er ist nicht unser Eigentum - wir haben ihn nur von unseren Nachkommen geliehen[br]
[i]"You have to take the men as they are... but you can not leave them like that !" :-P [/i]
[i]Das tägliche Stoßgebet: [b]Oh Herr, wirf Hirn vom Himmel ![/b][/i]

pieterb

Hi jbs,

You can create a menu link in stead of an actual page with wysiwyg. You can link this menu link to the first page of the submenu. So the "Find Out More" and "Take Action" items remain links, but go directly to the first subpage.

jbs

I'm using a template with a drop-down menu. We would like a couple of the top-level menu items to be basically disabled so they don't go anywhere, but be able to show the second-level items in the drop-down. On standard links, we can use "#" but I can't find any way to make the equivalent concept work on a menu item. Anyone else tried doing this? Any ideas?

To show what I mean, the website is www.releaseinternational.org. They want the "Find Out More" and "Take Action" links at the top to not go to a page, but simply display the menu items under it.