Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I have a Sharepoint site that currently inherits everything from the v4.master page.

This site in an internal wiki page for company documentation. Each page within the wiki can have 1 or more pages linked inside of it. For instance:

Wiki Main  
  └Finance  
      └AP Reports  
      └AR Reports   
   └Human Resources  
      └Payroll  
      └Benefits  

We have been embedding new pages using this code [[FinancePage|Finance Documentation Page]] on each 'parent' page.

The issue I'm having is that the breadcrumbs do not seem to follow the leveling when users click links.

The breadcrumbs will show the following: Wiki Main > Finance

Then when the click AP Reports it will show this: Wiki Main > AP Reports

What I'd like it to show is this: Wiki main > Finance > AP Reports

I'll be the first to admit I have zero experience with Sharepoint and when googling there are quite a few hits that seem to go into making my own DLL or replacing .sitemap*.xml file but Im not sure if that is the correct solution to what Im trying to do.

Is there a way to get the breadcrumb leveling to work correctly via a Site Setting?

share|improve this question

1 Answer 1

up vote 2 down vote accepted

The breadcrumb generated by SharePoint is based on its own sitemap or navigation settings.You can check the Navigation Settings of the your wiki site from Site Settings>Look & Feel>Navigation.

When you create sites and pages, the sitemap is updated with the hierarchical information. Since your pages are physically in same site or location,they falls under same level (hierarchy) in sitemap and hence shown at same level in the breadcrumb.

To show the breadcrumbs in the way you want, you have to create two subsites,HR and Finance and then create pages under them.

If you don't want to change the physical location of pages,You can create your own sitemap (like below) for your pages and use it in breabcrumb or menu.

<?xml version="1.0" encoding="ISO-8859-1" ?>
<siteMap>
  <siteMapNode title="Wiki Main" url="/home.aspx">
    <siteMapNode title="Finance" url="/Finance.aspx">
      <siteMapNode title="AP Reports" url="/apreports.aspx"/>      
    </siteMapNode>
   <siteMapNode title="Human Resources" url="/hr.aspx">
      <siteMapNode title="Payroll" url="/payroll.aspx"/>      
    </siteMapNode>
  </siteMapNode>
</siteMap>

You have to configure a SPXmlContentMapProvider in your web.config to use the sitemap.

share|improve this answer
    
Amit: Thank you. All our files are indeed in the same directory, I think we can script something to properly create a sitemap (we have thousands of files in there). Is modifying the SPXmlContentMapProvider easy, or is there do you know if there is good documentation out there? –  user5227 Oct 16 '11 at 0:00
    
Create a myxml.sitemap file at root web application directory. Under providers section, add the tag : <add name="MySPXmlContentMapProvider" siteMapFile="myxml.sitemap" type="Microsoft.SharePoint.Navigation.SPXmlContentMapProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /> –  Amit Kumawat Oct 16 '11 at 8:06
    
Also, you can use it for menu controls by creating a new datasource and use it for ASpMenu control: <asp:SiteMapDataSource ShowStartingNode="False" SiteMapProvider="MySPXmlContentMapProvider" id="xmlSiteMap" runat="server"/> <Sharepoint:AspMenu ID="TopNavigationMenuV4" Runat="server" DataSourceID="topSiteMap" UseSimpleRendering="true" UseSeparateCss="false" Orientation="Horizontal" StaticDisplayLevels="1" MaximumDynamicDisplayLevels="3" SkipLinkText="" CssClass="s4-tn" /> /> –  Amit Kumawat Oct 16 '11 at 8:16

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.