Breadcrumbs in SharePoint content pages are over-ridden

You’ll know what I’m talking about here if you have ever tried to customize the blog site template. When you create a MOSS blog site you’ll notice that the left nav bar and breadcrumbs are different to those in other standard sites, despite setting the site to use the same master page. In some cases, SharePoint just decides to override stuff in your master page and there ain’t a gosh darn thing you can do about it- using the GUI anyway. You can however, modify the site template files to better suit you and use the same nav as your master page. This is a bit of a no no because you will be modifying files in the hive directory, so if you want to be all “best practice” about it, you should copy the blog site template and create your own custom template to use instead.

Anyway, for the purpose of this post I will talk you through modifying the hive files.  On your WFE/s server navigate to C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\SiteTemplates\Blog

Backup and edit the default.aspx page. Replace:

<asp:Content ContentPlaceHolderId=”PlaceHolderTitleBreadcrumb” runat=”server”/>

 

and

 

<asp:Content ContentPlaceHolderId=”PlaceHolderLeftNavBar” runat=”server”>

                <div class=”ms-BlogNavigator”>

                <div class=”ms-quicklaunchouter”> <div class=”ms-quickLaunch” style=”width:100%”>

                <Sharepoint:SPSecurityTrimmedControl runat=”server” PermissionsString=”ViewFormPages, ManageLists”>

                                <div class=”ms-quicklaunchheader”><SharePoint:SPLinkButton id=”idNavLinkViewAll” runat=”server” NavigateUrl=”~site/_layouts/viewlsts.aspx” Text=”<%$Resources:wss,quiklnch_allcontent%>” AccessKey=”<%$Resources:wss,quiklnch_allcontent_AK%>”/></div>

                </SharePoint:SPSecurityTrimmedControl>

                                <WebPartPages:WebPartZone runat=”server” FrameType=”TitleBarOnly” ID=”BlogNavigator” Title=”loc:BlogNavigator” />

                <div id=”BlogRSSNav”></div>

                </div></div>

                </div>

</asp:Content>

 

With asp:Content tags containing your desired controls (cut and paste from your master page if need be) e.g.

 

<asp:Content ContentPlaceHolderid=”PlaceHolderTitleBreadcrumb” runat=”server”>

<div class=”breadcrumb”>

You are here:

<asp:SiteMapPath ID=”siteMapPath” Runat=”server” SiteMapProvider=”CurrentNavSiteMapProviderNoEncode” RenderCurrentNodeAsLink=”false” CurrentNodeStyle-CssClass=”breadcrumbCurrent” NodeStyle-CssClass=”ms-sitemapdirectional” CssClass=”body”/>

</div>

</asp:Content>

 

Now in the case of the blog site template it gets a bit more complicated because there are several pages used when creating posts and categories etc so you have to update these files in the same way. These pages are stored in the template’s Lists folder C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\SiteTemplates\Blog\Lists

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s