0

I have a SP 2010 publishing site with a custom master page. The navigation structure for the site is 5 or 6 headings with a few pages under each heading. I want to display the headings on the Global/Top Nav with the pages as flyouts. That part I have working. But on the Current/Left Nav, I want to just display the list of pages for whatever heading the user is under. For example, see the following Head/Sub-Page list:

Company About Services Contact

When someone is on the Services page, I would like the Left Nav to display the links to About, Services, Contact. I've tried just about everything with the menu settings in the master page but I can't seem to get this working. The Left Nav instead just shows the headings (Company in the example above). Is this possible to do with out of the box navigation, or will I need to use a custom sitemap? Thanks.

2 Answers 2

0

I believe you are able to go into "Site Actions -> Site Settings -> Look and Feel -> Navigation" (considering the SharePoint publishing feature is activated; if it isn't you won't see "Navigation"). OR, paste this and replace it with the ".aspx" URL: /_layouts/AreaNavigationSettings.aspx.

From there, at the very bottom, under "Current Navigation" you can add in those pages by "Add Heading" or "Add Link" that you want at the left navigation. You can do this to each page and change the different links that you need within that page.

Let me know if you run into any issues.

3
  • Sorry, should've mentioned that I've set everything up in Navigation Settings the way I want it to look, but I'm having trouble getting it to display that way on the masterpage.
    – gsmith140
    Apr 14, 2015 at 19:23
  • For debug purposes, can you try setting the master page to the default (v4.master or any out of the box) and see if the navigation appears. We can go from there.
    – PhantomBug
    Apr 14, 2015 at 19:28
  • It does appear. It shows the Heading and the pages below, indented. However, it shows all the Headings and all the pages. It would be great if I could get it to show only the current Heading/pages.
    – gsmith140
    Apr 15, 2015 at 16:11
0

Make sure that the following is inserted inside of your masterpage (inside the "ms-quickLaunch" div class, after the (/asp:ContentPlaceHolder) tag:

<Sharepoint:SPNavigationManager
            id="QuickLaunchNavigationManager"
            runat="server"
            QuickLaunchControlId="QuickLaunchMenu"
            ContainedControl="QuickLaunch"
            EnableViewState="false"
            CssClass="ms-quicklaunch-navmgr">
            <div>
                <SharePoint:DelegateControl runat="server" ControlId="QuickLaunchDataSource">
                    <Template_Controls>
                    <asp:SiteMapDataSource SiteMapProvider="SPNavigationProvider" ShowStartingNode="False" id="QuickLaunchSiteMap" StartingNodeUrl="sid:1025" runat="server" />
                 </Template_Controls>
                </SharePoint:DelegateControl>
                <SharePoint:UIVersionedContent UIVersion="3" runat="server">
                    <ContentTemplate>
                        <SharePoint:AspMenu id="QuickLaunchMenu" runat="server" DataSourceId="QuickLaunchSiteMap" Orientation="Vertical" StaticDisplayLevels="2" ItemWrap="true" MaximumDynamicDisplayLevels="0" StaticSubMenuIndent="0" SkipLinkText="" CssClass="s4-die">
                            <LevelMenuItemStyles>
                                <asp:menuitemstyle CssClass="ms-navheader" />
                                <asp:menuitemstyle CssClass="ms-navitem" />
                            </LevelMenuItemStyles>
                            <LevelSubMenuStyles>
                                <asp:submenustyle CssClass="ms-navSubMenu1" />
                                <asp:submenustyle CssClass="ms-navSubMenu2" />
                            </LevelSubMenuStyles>
                            <LevelSelectedStyles>
                                <asp:menuitemstyle CssClass="ms-selectednavheader" />
                                <asp:menuitemstyle CssClass="ms-selectednav" />
                            </LevelSelectedStyles>
                        </SharePoint:AspMenu>
                    </ContentTemplate>
                </SharePoint:UIVersionedContent>
                <SharePoint:UIVersionedContent UIVersion="4" runat="server">
                    <ContentTemplate>
                        <SharePoint:AspMenu id="V4QuickLaunchMenu" runat="server" EnableViewState="false" DataSourceId="QuickLaunchSiteMap" UseSimpleRendering="true" UseSeparateCss="false" Orientation="Vertical" StaticDisplayLevels="2" MaximumDynamicDisplayLevels="0" SkipLinkText="" CssClass="s4-ql" />
                    </ContentTemplate>
                </SharePoint:UIVersionedContent>
            </div>
            </Sharepoint:SPNavigationManager>

In order to show the current headings/pages go into the navigation settings again and under "Current Navigation" set the radio selection to "Display only the navigation items below the current site "

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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