0

I'm coming to a really strange behavior of SharePoint 2013 Metadata Navigation. I have set a list of terms for the top navigation, at the "root" of my site (aka the highest level of SharePoint, http://mysitecollection)

So, i wanted this top navigation to display my levels like:

- level1 A
- level1 B
   |- Level2 B.1
   |- Level2 B.2
- level1 C
   |- Level2 C.1
      |- Level3 C.1.1

And getting those little submenus.

But this does only work when I'm on a site or library/list settings! I don't see it display on home, for example. On home, I only see level 1. But absolutely no level 1's children...

Do you have any idea on what is happening?

Do you have any idea on how to fix it?

1

Finally got it, SharePoint has a really strange behavior. What i did not tell in my question was that I was using a custom Master Page.

And it seemed to be the problem : I have generated the snippet for the DeltaTopNavigation through the Snippet Gallery. And apparently SharePoint has a bug with this.

So, the solution is : go to seattle.master, select the DeltaTopNavigation snippet and paste it to your custom master page.

I let the code here, if anyone wants to see it.

<SharePoint:AjaxDelta id="DeltaTopNavigation" BlockElement="true" CssClass="ms-displayInline" runat="server">
     <SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource" Id="topNavigationDelegate">
      <Template_Controls>
        <asp:SiteMapDataSource ShowStartingNode="False" SiteMapProvider="SPNavigationProvider" id="topSiteMap" runat="server" StartingNodeUrl="sid:1002" />
      </Template_Controls>
     </SharePoint:DelegateControl>
     <a name="startNavigation">
     </a>
    <asp:ContentPlaceHolder id="PlaceHolderTopNavBar" runat="server">
        <SharePoint:AspMenu ID="TopNavigationMenu" Runat="server" EnableViewState="false" DataSourceID="topSiteMap" AccessKey="&lt;%$Resources:wss,navigation_accesskey%&gt;" UseSimpleRendering="true" UseSeparateCss="false" Orientation="Horizontal" StaticDisplayLevels="2" AdjustForShowStartingNode="true" MaximumDynamicDisplayLevels="2" SkipLinkText="" />

    </asp:ContentPlaceHolder>
 </SharePoint:AjaxDelta>

Source that helped me :

Sharepoint 2013 Managed Navigation Lessons Learned by Kyle Wright (see the paragraph "Using Managed Navigation in a Custom Master Page")

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.