none
3 level navigation in Sharepoint RRS feed

  • Question

  • I have the OOTB top navigation bar in Sharepoint 2010.

    I want to create multi-level navigation in top navigation bar. How can I do this?

    On one site, I read that opening the site master page in SP Designer and changing the "MaximumDynamicDisplayLevel" to 3 will do the changes, but it is not working.

    I don't want to create any custom sitemap. How can I do this OOTB?

    Wednesday, April 3, 2013 9:43 AM

Answers

  • Hi,

    Just try to set "ShowStartingNode" and "SiteMapProvider" as mention in below link:

    http://replicrux.com/2011/04/29/flyouts-in-top-toolbar-navigation-sharepoint-2010.aspx

    Let us know your result


    Hemendra: "Yesterday is just a memory,Tomorrow we may never see"

    Whenever you see a reply and if you think is helpful, click "Alternate TextVote As Helpful"! And whenever you see a reply being an answer to the question of the thread, click "Alternate TextMark As Answer

    Please feel free to unmark answer if does not resolves your problem.

    • Proposed as answer by Sendil.M Monday, April 8, 2013 9:01 AM
    • Marked as answer by Qiao WeiModerator Monday, April 22, 2013 9:48 AM
    Monday, April 8, 2013 8:18 AM
    Moderator
  • Sorry for late reply.

    I have not tested but i think "Link 1" is a subsite or global navigation (but i am not sure). Also make sure that your subnode and link1 are subsites and created inside the Node 1.

    Could you try to change the SPMapProvider property as per your need by referring below MSDN link:

    http://msdn.microsoft.com/en-in/library/bb897657%28v=office.14%29.aspx

    http://sharepointpeople.wordpress.com/2011/10/15/hide-home-link-in-sharepoint-2010-global-navigation/

    Just test it and let us know your result


    Hemendra: "Yesterday is just a memory,Tomorrow we may never see"

    Whenever you see a reply and if you think is helpful, click "Alternate TextVote As Helpful"! And whenever you see a reply being an answer to the question of the thread, click "Alternate TextMark As Answer

    Please feel free to unmark answer if does not resolves your problem.

    Friday, April 12, 2013 5:10 AM
    Moderator
  • Hi,

    Why don't you disable/remove navigation and put custom menu by editing master page.

     If you want to make configurable create a html file for menu and upload into a document library, create a webpart which reads html from this file and put it in place holder.

    so if somebody wants to add new link just go and  edit html file and you are good to go....


    If this helps Please mark it answer or Vote As Helpful.

    Thanks
    Siddharth Vaghasia

    Sunday, April 14, 2013 5:46 PM

All replies

  • Hi Shailesh,

    Have you tried changing the setting from navigation page (AreaNavigationSettings.aspx), Site Settings --> Click "Navigation" under "look and feel" section. Here you will find options to change.

    However you could also set you own navigation scheme by adding and deleting/editing nodes.


    Best Regards, Paramesh.

    Wednesday, April 3, 2013 9:58 AM
  • Hi Paramesh,

    The OOTB Navigation setting only provide 1 level of navigation.

    I want to create under Global navigation the structure like this:

    Node1--->subNode1--->Link1

    Node2--->subNode2--->Link2

    But what OOTB Sharepoint navigation provides, is this:

    Node1--->Link1

    Node2--->Link2

    So how to create a subnode in this?

    Wednesday, April 3, 2013 10:15 AM
  • Hi,

    You will need to modify your master page and look for  <SharePoint:AspMenu. in global navigation section. Here you can set  "MaximumDynamicDisplayLevels="4"" for 3 level menu.

    Here is snap for 2:

    http://erikswenson.blogspot.in/2010/07/sharepoint-2010-two-tier-global.html

    Hope it could help


    Hemendra: "Yesterday is just a memory,Tomorrow we may never see"

    Whenever you see a reply and if you think is helpful, click "Alternate TextVote As Helpful"! And whenever you see a reply being an answer to the question of the thread, click "Alternate TextMark As Answer

    Please feel free to unmark answer if does not resolves your problem.

    Wednesday, April 3, 2013 10:27 AM
    Moderator
  • Hi Hemendra,

    Thanks for your reply.

    As I have mentioned in my question that I don't want to create a custom sitemap for this, but you solution (provided in the link) is creating a custom sitemap.

    The reason why I don't want to create a custom sitemap is because I have to set the Target Audience to the sitemap node, which is only possible in default sitemap and not in custom sitemap.

    For the test purpose, programatically I am adding the node in Sharepoint navigation (which is provided by default). I am using the following line:

    SPNavigationNode navNode1 = new SPNavigationNode(node1, "", true);
                SPNavigationNode navNode2 = new SPNavigationNode(node2, "http://www.google.com", true);
    web.Navigation.TopNavigationBar[0].Children.AddAsFirst(navNode1);

    This is working fine, and I can see the navNode1 added in my navigation.

    But when I add the following line after these above lines,

    web.Navigation.TopNavigationBar[0].Children[0].Children.AddAsFirst(navNode2);

    it is not getting displayed on the navigation menu, even when I have changed the MaximumDynamicDisplayLevels="3".

    Please suggest what should I do to achieve my purpose.

    Thursday, April 4, 2013 12:53 PM
  • Hi,

    >but you solution (provided in the link) is creating a custom sitemap.

    My indication was not for custom solution. I was just wanted to highlight MaximumDynamicDisplayLevels settings on master page.

    >Node1--->subNode1--->Link1

    What is "subNode1"? Have you enabled publishing feature in your site? if yes then what you see in navigation link after executing above code.


    Hemendra: "Yesterday is just a memory,Tomorrow we may never see"

    Whenever you see a reply and if you think is helpful, click "Alternate TextVote As Helpful"! And whenever you see a reply being an answer to the question of the thread, click "Alternate TextMark As Answer

    Please feel free to unmark answer if does not resolves your problem.

    Friday, April 5, 2013 4:47 AM
    Moderator
  • Can anyone please help with this?
    Friday, April 5, 2013 5:52 AM
  • Is there something I am going wrong?
    Friday, April 5, 2013 6:57 AM
  • Hi Hemendra,

    After executing the above mentioned code, I am able to see only the Node1 --> SubNode1.

    I am not able to see the Link1 after SubNode1 (which should be visible after setting the MaximumDynamicDisplayLevels in master page). And yes, I have the Publishing feature enabled on the SiteCollection level as well as the site level.

    What is "SubNode1"?  ----->    Actually, Node1 -> SubNode1 is just the category (with no url). The actual url is in "Link1".

    Monday, April 8, 2013 7:15 AM
  • Hi,

    Just try to set "ShowStartingNode" and "SiteMapProvider" as mention in below link:

    http://replicrux.com/2011/04/29/flyouts-in-top-toolbar-navigation-sharepoint-2010.aspx

    Let us know your result


    Hemendra: "Yesterday is just a memory,Tomorrow we may never see"

    Whenever you see a reply and if you think is helpful, click "Alternate TextVote As Helpful"! And whenever you see a reply being an answer to the question of the thread, click "Alternate TextMark As Answer

    Please feel free to unmark answer if does not resolves your problem.

    • Proposed as answer by Sendil.M Monday, April 8, 2013 9:01 AM
    • Marked as answer by Qiao WeiModerator Monday, April 22, 2013 9:48 AM
    Monday, April 8, 2013 8:18 AM
    Moderator
  • Hi Hemendra,

    I followed your link, and the steps mentioned in it.

    Assume the expected result as follows:

    Level 0 : Node1

    Level 1 : SubNode1

    Level 2 : Link1

    I followed your steps, and it gave the result as:

    Level 0 : Link1,  Node1

    Level 1 : SubNode1

    It adds the Link1 at Level 0 instead of Level 2.

    Monday, April 8, 2013 9:05 AM
  • Sorry for late reply.

    I have not tested but i think "Link 1" is a subsite or global navigation (but i am not sure). Also make sure that your subnode and link1 are subsites and created inside the Node 1.

    Could you try to change the SPMapProvider property as per your need by referring below MSDN link:

    http://msdn.microsoft.com/en-in/library/bb897657%28v=office.14%29.aspx

    http://sharepointpeople.wordpress.com/2011/10/15/hide-home-link-in-sharepoint-2010-global-navigation/

    Just test it and let us know your result


    Hemendra: "Yesterday is just a memory,Tomorrow we may never see"

    Whenever you see a reply and if you think is helpful, click "Alternate TextVote As Helpful"! And whenever you see a reply being an answer to the question of the thread, click "Alternate TextMark As Answer

    Please feel free to unmark answer if does not resolves your problem.

    Friday, April 12, 2013 5:10 AM
    Moderator
  • Hi,

    Why don't you disable/remove navigation and put custom menu by editing master page.

     If you want to make configurable create a html file for menu and upload into a document library, create a webpart which reads html from this file and put it in place holder.

    so if somebody wants to add new link just go and  edit html file and you are good to go....


    If this helps Please mark it answer or Vote As Helpful.

    Thanks
    Siddharth Vaghasia

    Sunday, April 14, 2013 5:46 PM
  • Hi Siddharth,

    Can you add a link to an example of how to achieve this.

    I think that your suggestion would be best for me.

    Thanks

    Allen

    Friday, February 3, 2017 5:10 PM
  • I was able to solve this problem by setting StaticDisplayLevels="2"  and setting MaximumDynamicDisplayLevels="3" in the TopNavigation section of the masterpage. I then under Site Settings -> Navigation -> I set my site to use Managed Navigation for Global Navigation and Current Navigation.

    Best Regards,

    Lara


    Shannon

    Tuesday, September 12, 2017 4:39 PM