none
Dynamic menu in SharePoint 2010?

    Question

  • Hi,

     

    How does one turn on or set up dynamic menus in SP2010?  

     

    In searching around, I've found tons of instructions to edit the master page in Designer, and  to set MaximumDynamicDisplayLevels=2 or more, but they've mostly been for MOSS.  

    That parm does seem to be present, though, in 2010, and I set it, but nothing happens.  

     

    I'm wondering if I'm editing the wrong master page?  Which one do I edit?  I've got a site collection "testNav1" and within it a sites called "testNav1-site1" and "testNav1-Basic Meeting space".  Within "testNav1-site1", I've also got a couple of subsites.  But wherever/whatever level I'm at, none of the menus fly out for me.


    Also, I edit the master page and save it, and check it in, but the Publish button is greyed out, so I'm not sure if that might be the culprit?

     

    Alsoalso, I found mentions, again to do with MOSS, of turning on "Show Subsites" under Navigation in Site Settings, but there doesn't seem to be such in 2010.  Moved somewhere I'm not seeing maybe?

     

    Thanks in advance for any suggestions,

    :

    |Ben

     

     

     

    Thursday, April 15, 2010 8:32 PM

Answers

  • To use Dynamic menus (dropdowns and flyouts) in SharePoint 2010 requires the same steps as in MOSS 2007.  For it to work correctly you normall need 3 things:

    1) Publishing Infrastructure and Publishing features must be enabled for the site collection and top level site respectively.

    2) Once Publishing is turned on you will see a Navigation link on the site settings page. (This only shows up if Publishing is turned on for both 2007 and 2010).  Use the Navigation link on each site and subsite to enable Show Sites checkbox.  This has to be done for each level you want to show up in the dynamic navigation.  for example if you set it to 3 you need to do this on the top level site, each child site, and each grandchild site.  Otherwise you won't have 3 levels to show.  You need to do enough levels to cover static + dynamic.

    3) Edit the master page in the top level master page gallery to change the DynamicDisplayLevels of the top nav's ASPmenu control.  The default master for a 2010 clean installation is V4.master.


    Paul Stork SharePoint Server MVP
    Friday, April 16, 2010 12:46 PM

All replies

  • To use Dynamic menus (dropdowns and flyouts) in SharePoint 2010 requires the same steps as in MOSS 2007.  For it to work correctly you normall need 3 things:

    1) Publishing Infrastructure and Publishing features must be enabled for the site collection and top level site respectively.

    2) Once Publishing is turned on you will see a Navigation link on the site settings page. (This only shows up if Publishing is turned on for both 2007 and 2010).  Use the Navigation link on each site and subsite to enable Show Sites checkbox.  This has to be done for each level you want to show up in the dynamic navigation.  for example if you set it to 3 you need to do this on the top level site, each child site, and each grandchild site.  Otherwise you won't have 3 levels to show.  You need to do enough levels to cover static + dynamic.

    3) Edit the master page in the top level master page gallery to change the DynamicDisplayLevels of the top nav's ASPmenu control.  The default master for a 2010 clean installation is V4.master.


    Paul Stork SharePoint Server MVP
    Friday, April 16, 2010 12:46 PM
  •  

     

    Thanks a bunch, Paul.  Off to try this now!

     

    Friday, April 16, 2010 1:57 PM
  • I have tried it and it does work if you follow all three steps I've listed above.  The one other thing you need to be careful about is that in SharePoint 2010 top navigation inheritance is turned off by default.  If you don't change that through the advanced options or through the navigation link later you won't get the dropdowns when you navigate to a child site where the top nav bar inheritance has been broken.  You will still see the dropdowns and flyouts on the top level site.
    Paul Stork SharePoint Server MVP
    Tuesday, May 18, 2010 5:07 PM
  • It works on the QuickLaunch menu just like it does for the Top Nav bar.  However, you have to be careful because in a V4 master there is only one Top Nav bar defined, but TWO Quicklaunch bars.  There is a regular Quicklaunch menu (for backwards compatabiity on upgraded sites) and a v4 specific Quicklaunch.  You need apply your changes to the right Quicklaunch or they won't show.  but if you follow the steps above it does create Flyouts for MaximumDynamicDisplay levels in the left menu.  All three menus use the same ASPMENU control and all of them work essentially the same way.
    Paul Stork SharePoint Server MVP
    Friday, May 21, 2010 12:18 PM
  • I'm not sure what you are missing, but as you can see from the linked screenshot below it does work if you do all three steps that I outlined.  Publishing needs to be enabled, Show All Sites needs to be enabled in all sub sites, and you have to edit the right ASPMenu control and set the MaximumDynamicLevels.  If you do all that it will work as shown below, no workaround required.  Check all three steps again.  You are missing something, because it does work.

    http://tinyurl.com/2dqxxuy


    Paul Stork SharePoint Server MVP
    Sunday, May 23, 2010 6:06 PM
  • Headings and static links in the QuickLaunch bar are part of the current site, not extensions to the hierarchy, so there is no reason they should show up as drop downs or fly outs in the QuickLaunch.

    In your responses to this post we've gone from

    "Please try to see if it works yourself before you post for other to try." - because you couldn't get it to work

    to

    "Left menu does not work like you stated." - because you couldn't get it to work

    to

    "It does not work!!!!!" - because you couldn't get it to work

    to

    "I am very disappointed as to how this menu navigation work." - because it doesn't work the way you think it should

    Maybe before you start complaining that something doesn't work you should make sure the problem isn't your skills rather than Microsoft's product.  I've shown you that the menu works as designed if you follow the instructions I've provided.  Just because you can't follow the instructions or because it doesn't do exactly what you want is no reason to insult people by suggesting that they are posting instructions before they've tried them.  If you are so all knowing maybe you should write your own navigation control and just use it instead of the built in ASPmenu. 

    I'm done responding to this thread.  I've tried to be helpful and provided instructions and a screenshot proving that it works.  In return all I've received is insinuations that I don't know what I'm talking about and that the product is somehow flawed.  I think the problem here is your understanding and manners, not the product.


    Paul Stork SharePoint Server MVP
    Wednesday, May 26, 2010 10:37 PM
  • The point is that the product DOES work.  But because you can't get it to work you get angry and blaim Microsoft (and me).  The problem here isn't SharePoint.  The dynamic menus do work and they work as they are designed to work.  You are the problem here, not SharePoint.  There is always room for improvment, but in this case improving the product wouldn't help because you couldn't follow the instructions provided anyway.
    Paul Stork SharePoint Server MVP
    Tuesday, June 01, 2010 2:01 PM
  • I'm sorry that you consider me rude.  On the other hand you DID personally attach me when you posted replies to my posts like:

    "Please try to see if it works yourself before you post for other to try."  When I had tried it and it did work. 

    or "Left menu does not work like you stated."  When in fact it did work exactly as I stated.

    or "It does not work!!!!!"  When in fact I had already replied that I had tested it and it did work.  You didn't stop accusing me of lying about it working until I posted a screenshot proving that it was working for me.

    Now you may consider me rude to be writing this response.  But I'm trying to give you some advice.  If you want help getting things to work when you are having a problem I suggest you stop accusing the people who are trying to help you of lying about their results or suggesting that they don't know what they are talking about. 

    Also, you are not my customer.  I don't work for Microsoft so I didn't get any of the money you paid for your product.  Nor have you paid anything for the responses I have posted here.  I am a volunteer who has tried to help you configure and understand how to use dynamic menus.  In response I've been accused of not knowing what I'm talking about and lying about my results.  I'm not sure where your definition of rude comes from.  But to me that's rude.  Before you suggest that other people who have tried to help you change their behaviour maybe you should consider your own actions.


    Paul Stork SharePoint Server MVP
    Wednesday, June 02, 2010 6:34 PM
  • Hi Paul,

    If I follow your instructions I cannot get this fly-out menu.

    I don't know what I am missing. I try every way recomended on internet.

    I am logged in as admin,  Publishing feature is on, I can see navigation link in look and feel,

    in navigation the "show Subsites" are ticked, iis is restarted but no change.

    Have you got any idea what is missing?

    Thanks

    Husso

     

    Wednesday, June 09, 2010 11:00 AM
  • The new navigation structure in SharePoint 2010 is very misleading and confusing.  To add insult to injury, this thread's resolution provide an even more confusion to end users.  I would recommend someone to kill it.  Thanks.

    SharePoint navigation flyout feature only work with the default sitemap.  If one would like to customize the original sitemap navigation provider, through the use of navigation settings, the flyout will not work.  Furthermore, the navigation settings feature does not allow system admin to add custom sub-heading nor sub-links.  Chances are, you will have to implement your custom sitemapprovider and navigationprovider to make it work the way you wish it to work.

    • Proposed as answer by Frank Do Wednesday, June 09, 2010 9:06 PM
    Wednesday, June 09, 2010 9:03 PM
  • Did you check the "Show Subsites" box on each sub site?  You have to do it consistently in the hierarchy or the subsites aren't reported to the top site.  This is often overlooked.
    Paul Stork SharePoint Server MVP
    Friday, June 11, 2010 3:27 PM
  • Hi Paul,

    Yes, "show subsites" box is checked.

    Saturday, June 12, 2010 12:13 PM
  • Hi Paul,

     

    This morning I decided to set MaximumDynamicDisplayLevels=2 in v4.master not in default.master as

    I always did. The mistake was and is people I guess do the changes in default.master not in v4.master regarding fly-out menu. Anyway, after spending days at last I figured out and I have my fly-out menu.

     

    Thanks

    Husso

    Tuesday, June 15, 2010 11:12 AM
  • default.master is actually the old Version 3 master that is used when upgrading a SharePoint 2007 site.  v4.master is the default SharePoint 2010 master.  Sorry for the confusion.
    Paul Stork SharePoint Server MVP
    Tuesday, June 15, 2010 1:10 PM
  • I have tried it and it does work if you follow all three steps I've listed above.  The one other thing you need to be careful about is that in SharePoint 2010 top navigation inheritance is turned off by default.  If you don't change that through the advanced options or through the navigation link later you won't get the dropdowns when you navigate to a child site where the top nav bar inheritance has been broken.  You will still see the dropdowns and flyouts on the top level site.
    Paul Stork SharePoint Server MVP


    Dear Paul,

    Could you please tell me how to make this option "Yes" by default when creating new sites?

    I am completely stumped.

    http://social.msdn.microsoft.com/Forums/en/sharepoint2010general/thread/fbfd6c1f-2edb-41dd-932e-d3d1dbb9c9b1

    Wednesday, June 16, 2010 3:10 AM
  • Thanks Paul,

    This helped me a lot!


    The world is the mollusc of your choice
    Friday, June 18, 2010 10:22 AM
  • Where do you check to see if  "Publishing Infrastructure and Publishing features are enabled" ?

    as I would like to try this out.

    Avi Baer

     

    Friday, June 18, 2010 3:07 PM
  • Go to Site Actions > Site Settings in the top level site of the site collection.

    Publishing Infrastructure is in the Site Collection Features and Publishing is in the Site Features.


    Paul Stork SharePoint Server MVP
    Friday, June 18, 2010 6:56 PM
  • Hi Paul,

    First off i want to thank you for your contribution, i really appreciate it.

    I have the following hierarchy of site collections:

    Home
      -- Human Resource
         -- Several pages (displaying on the flyout of home)
      -- IT
         -- Several pages (not displaying on the flyout of home)

    I've followed the same steps with my IT sub-site as i did for the Human Resources sub-site but cant get IT's pages to display on the Home flyout menu, nor do the pages display on IT's global navigation.

    Is there some sort of restriction to certain site types that could be causing this exclusion? I've checked and re-checked, HR and IT both inherit their master pages from the parent and both have exactly the same options selected in the navigation configuration.

    Do you have any ideas? I dont know where to turn to next for a solution.

     


    The world is the mollusc of your choice
    Saturday, June 19, 2010 10:21 AM
  • If you look closely, you will find that the only pages that display under the Home site are publishing pages stored in the pages document library. I suspect that the IT site is a regular Team site (or something similar) where you've added regular web part pages to the site or a document library in the site.  These won't be picked up by the flyouts, since that navigation only picks up publishing pages.  So check three things for the IT site.

    1) Check that the publishing feature is turned on in site features

    2) Make sure that Show pages is checked in Navigation

    3) Make sure that the pages you have created are publishing pages stored in the pages document library.

    Any other web part pages would need to be added as manual links.


    Paul Stork SharePoint Server MVP
    Tuesday, June 22, 2010 12:02 PM
  • Aaah alright that makes sense.

     

    Thanks again Paul!


    The world is the mollusc of your choice
    Thursday, June 24, 2010 7:31 AM
  • Hi Paul - this has been extremely helpful, I followed your instructions and got it to work!

    I would like to get document libraries on my flyout and you mentioned that that has to be done manually because show subsite and show pages won't pick up on them.

    Can you tell me how to go about it please?

     

     

     

    Friday, July 30, 2010 9:24 AM
  • I can't get the fly out menus to work for top navigation in Sharepoint foundation 2010.
    I have changed both the M aximumDynamicDisplayLevels and the StaticDisplayLevels to 2 but still no luck.

    This was quite easy with WSS v3.

    Any ideas and thanks?

    Monday, October 18, 2010 3:56 AM
  • Thanks Paul,

    It's very helpful.

    Thursday, November 04, 2010 8:13 AM
  • Paul,

    The instructions worked well, thank you. But I do have an issue in that the fly-outs backgrounds are transparent, making the text nearly impossible to see. Any suggestions on what I might try to resolve the problem?

     

    Thanks,

     

    Greg


    Greg McAllister
    Monday, November 08, 2010 3:27 PM
  • I can't get the fly out menus to work for top navigation in Sharepoint foundation 2010.
    I have changed both the M aximumDynamicDisplayLevels and the StaticDisplayLevels to 2 but still no luck.

    This was quite easy with WSS v3.

    Any ideas and thanks?


    I have the same problem with foundation.

    Subsites are configured correctly, but the menu control doesn't display my subsites...

    Tuesday, December 07, 2010 2:26 PM
  • Thanks Paul.  Worked like a charm.

    -mrk

    Tuesday, December 28, 2010 11:27 PM
  • Paul,

    thanks for this post. It worked wonders for me. Although, I want to configure link in this dropdown to open in a new window. Is there a way to achieve this?

    Thanks,

    Thursday, December 30, 2010 4:00 PM
  • I have the same question as Patrick.I and Godies above: how do you get dynamic fly-out in Foundation?

    Basically, I've upgraded a site from WSS 3.0 and it's now in SharePoint Enterprise and I don't want to have to turn on the Publishing Feature on every site.

    Thursday, January 06, 2011 5:48 AM
  • I worked it out - an upgraded WSS (to SharePoint Enterprise in this case) site still ignores the Master Page setting from the Browser UI and I was using a copy of the V4.master (e.g. v4_custom.master). So the MaximumDisplayLevels setting works if you have the right master page.

    See Ivan's tip here (set default master in SharePoint Designer): http://social.msdn.microsoft.com/Forums/en-US/sharepoint2010customization/thread/33d6b540-96eb-4be5-8161-3d1fd80f31a0

     

    Thursday, January 06, 2011 11:33 PM
  • Thanks. It works for us too. Sharepoint 2010 Enterprise. Since all of our sites/subsites used Team Site templates, each site as it's v4.master. I had to go into each site to update the MaximumDisplayLevels setting to make sure when you click each menu item, the flyout menu will display properly.

    Thanks Again,

    Jean Hsi-Yin

    Saturday, January 22, 2011 2:18 AM
  • Why does navigation only work with publishing enabled? Does Microsoft think that team sites and others don't need it?
    Monday, February 07, 2011 11:28 PM
  • Great Info, Thank you Paul.  I fought this for hours.

    Why is this not enabled by default in SP 2010?
    Thursday, March 10, 2011 4:44 PM
  • Paul I followed your steps.

    However, no success. Here's the deal if someone can help me out...

    I have my GlobalNavigation (topnavigation) and I want a flyout menu (linking to pages).

    What I do not undertsand: it works perfect when I am identified. It works perfect inside my network  as anonymous user (in my company). But it's not working at all as anonymous user, from the outside.

    I can't figure out where the problem is: the flyout...does not fly.

    I am trying to implement a website using the "AdventureWorks" branding (http://msdn.microsoft.com/en-us/library/gg430141.aspx)

    Grateful if you can help!

     

     

     

    Thursday, April 07, 2011 3:35 PM
  • I am having, sort of, the same issue. Flyouts work for the site collection admin or anyone added there. But does not work for Read-only users. Everyone in our organization should access the most of the sites from fly-outs, BUT no one except us IT folk can see the fly outs.

    Friday, April 29, 2011 5:39 PM
  • To use Dynamic menus  flyouts menus in SharePoint 2010 .  For it to work correctly you normall need 3 things:

    1) Publishing Infrastructure and Publishing features must be enabled for the site collection and top level site respectively.

    2) Once Publishing is turned on you will see a Navigation link on the site settings page.  Use the Navigation link on each site and subsite to enable Show Sites checkbox.  This has to be done for each level you want to show up in the dynamic navigation.  for example if you set it to 3 you need to do this on the top level site, each child site, and each grandchild site.  Otherwise you won't have 3 levels to show.  You need to do enough levels to cover static + dynamic.

    3) Edit the master page in the top level master page gallery to change the DynamicDisplayLevels of the top nav's ASPmenu control.  The default master for a 2010 clean installation is V4.master.

    Note:in sharepoint 2010 has v4.master page just copy and past it in the same folder.



    shobhitkala
    Tuesday, October 18, 2011 6:00 AM
  • Thanks Paul, your instructions worked perfectly on our SP 2010 implementation!
    Wednesday, November 02, 2011 4:04 PM
  • Hi Paul - this is very useful - although interestingly it works in our test environment but not in our live environment. The only difference is that the publishing infrastructure of the test site collection is enabled but the publishing feature for this site isn't (we couldn't enble as it threw up an error). On the live site both these are enabled and in the designer window it looks as though the flyout menus are live as the flyout arrows appear, however the flyouts don't work on the site. Do you have any further tips. Thanks.

    Graham

    Tuesday, November 15, 2011 3:14 PM
  • It seems like MS could have made this process a touch easier to figure out, but otherwise this works perfectly.  

    Thank you so much Paul.  

    Tuesday, April 10, 2012 3:25 PM
  • Paul, 

    We setup flyouts in our QuickLaunch menu (instructions to do that are here: http://msdn.microsoft.com/en-us/library/ms466994.aspx ) and now want the flyouts to have multiple levels.  The structure we want is not related to subsites though.  Instead, we've created document libraries with different views in them.  We want the flyout levels to point to these different views, but we are not sure how to do this.  For example, we have a View in our document library called: "International Programs".  We also have a View called "Europe", another View called "France" and another View called "Paris." 

    We would like our Quicklaunch flyouts to show:
    International Programs --> Europe --> France --> Paris. 

    Within the "Navigation Editing and Sorting" in "Navigation Settings" in SharePoint 2010 (with Publishing Infrastructure and Publishing Features enabled), we haven't found a way to create a Heading inside another Heading (with each Heading pointing to a different View).  We think that that's what is needed to be able to create multi-level flyouts in the QuickLaunch that point to Views.  Does that seem correct to you?  Or is there another way of doing this?  Any help you can provide is greatly appreciated! 

    Thank you! 

    James

    P.S.  Your instructions on multi-level flyouts to subsites worked great by the way! 

    Tuesday, May 22, 2012 8:19 PM
  • To accomplish what you want you would need to write a custom navigation provider.  There's no way to include views using the out of the box features.

    Paul Stork SharePoint Server
    MVP Senior Solutions Architect: BlueChip Consulting Group
    Blog: http://dontpapanic.com/blog
    Twitter: Follow @pstork
    Please remember to mark your question as "answered" if this solves your problem.

    Wednesday, May 23, 2012 1:20 AM
  • James.You can use Jquery and SPServices for this.

    Wednesday, May 23, 2012 7:55 AM
  • Patrick.I, 

    Can you please provide instructions on how to do this?  I am not very familiar with Jquery but I can follow instructions very well. 

    Thank you, 

    James 

    Wednesday, May 23, 2012 12:21 PM
  • Paul, 

    Thank you for your feedback.  It seems a little strange to me that there is no easy way to manually add Headings within Headings in the Navigation and Sorting section, to provide a multiple flyout level option to url's of my choosing.  I've seen this functionality provided using CSS, for example.  Here is a link to a CSS site that does that:  http://www.cssmenus.co.uk/flyout.html 

    If you find any way that this same thing can be done easily (hopefully without code or scripts) within SharePoint 2010, please let me know. 

    Thanks again, 

    James 

    Wednesday, May 23, 2012 2:20 PM
  • HI James,
              Send me your email address to naijacoder@hotmail.com and i will send you a sample snippet code.
    Cheers
    Monday, May 28, 2012 7:37 AM
  • The problem is that the system is designed to automatically adapt to changes in the hierarchy of SharePoint sites.  If Publishing is turned on you can add your own headers and second level items.  But only two levels are supported for entry on each site.  To affect lower levels you'll need to go to lower level sites and adjust the entries there.  That's all fairly easy.  The problem in your scenario is not that you want to add outside entries to the navigation.  You want to insert levels into the existing site structure.  so you want the navigation provider to provide the dynamic levels with another layer inserted in the middle.  There is no way to do that other than custom code.

    Paul Stork SharePoint Server
    MVP Senior Solutions Architect: BlueChip Consulting Group
    Blog: http://dontpapanic.com/blog
    Twitter: Follow @pstork
    Please remember to mark your question as "answered" if this solves your problem.

    • Proposed as answer by Jamesz A Tuesday, June 05, 2012 3:12 PM
    Tuesday, May 29, 2012 1:27 PM
  • Hi Patrick.I, 

    After looking into this and trying figure out how to go about it, we decided we are not staffed to be able to customize the site in this way.  We simply don't have expertise in certain areas and have decided to stick to out-of-the-box solutions as much as possible.  Thank you for your willingness to help though. 

    James 

    Tuesday, June 05, 2012 3:09 PM
  • Thank you Paul! 
    Tuesday, June 05, 2012 3:11 PM
  • The fact that there's even a discussion about this (many, in fact), tells you that though technically it works, it's another, typical "MSFT knows best moment" -   a non standard process with no explanation that leaves users to hunt and peck for answers.
    Tuesday, April 29, 2014 10:42 PM