0

I have successfully converted an HTML Page to a SharePoint 2013 Master Page. I also created a Custom Page Layout. Using both them I have created my SharePoint Site with 30+ pages. Each page is consisted with the Top Header Navigation as it is inheriting from the Master Page I have used. Now I need the left navigation inherit from the master page also. It gives me the advantage of updating it from the master page and affects it through the entire SharePoint Site.

But at the moment I am inserting the Left Nav using a web part as an HTMl code snippet individually for each and every page. If needs a modification I have to go through all the pages and do the modification. This is not convenient also. I want to this left nav like the SharePoint Current Navigation alternative but within my Page Layout.

Is there an option to chat within these forums?

Could someone help me to solve this problem?

1 Answer 1

0

I assume, that there are many ways to approach this situation, but I can share my solution to "left side navigation in layout page" problem.

First I created Visual Studio solution with User-Control, that gets terms from TermStore and creates hierarchical HTML structure with each term titles and navigation links (and other HTML properties). Then in top of desired page layout I added reference (@register) to previously created control. After that in main content placeholder I added similar navigation controls (in my case - SharePoint:DelegateControls) as used in masterpage.

EDIT:
For User-Control I used asp:Repeater that generates HTML structure - this and this article may help you.

For example, for asp:Repeater like this:

<asp:Repeater runat="server" ID="MenuRepeater" DataSourceID="LeftSideNav">
.. 
</asp:Repeater>

in masterpage (or layout page) you must register it:

<%@ Register TagPrefix="LeftNav" TagName="CustomNavigation" Src="~/_controltemplates/15/MyNavigation/CustomNavigation.ascx" %>

and modify SharePoint:DelegateControl.

<SharePoint:DelegateControl runat="server" ControlId="LeftSideNav" ID="LeftSideNavDelegate">
    <Template_Controls>
     <asp:SiteMapDataSource
            SiteMapProvider="GlobalNavigationTaxonomyProvider"
            ID="LeftSideNav"
            runat="server" 
            ..  />
    </Template_Controls>
</SharePoint:DelegateControl>
<leftnav:LeftNavigation 
    Id="idLeftNav" 
    runat="server" 
    EnableViewstate="false"
    AdjustForShowStartingNode="true"/>

I hope that this is going to help you.

2
  • Hey Taspats, could you elaborate more your solution with a sample code or step by step article? Then I can use it to develop my Left Navigation.
    – ChiranSJ
    Mar 28, 2015 at 15:27
  • Can't we do anything using Visual Studio 2013 like editing the web.config file of the SharePoint Site.
    – ChiranSJ
    Apr 1, 2015 at 10:45

Your Answer

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

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