Domanda

We are using SharePoint for our Intranet. We will have a site collection for the Intranet. Then a site collection for each department in the business. I.E. HR, IT, Finance.

We are creating a custom materpage to be roled out throughout the site collections and will apply them to each site in each site collection.

We would like the navigation (top level) to remain the same on each site in each site collection, across the differnt site collections. Is this possible?

È stato utile?

Soluzione

You can define another navigation provider that pulls the data from a different source. Typically I use a SharePoint list, but you could use an XML file, database, or whatever makes the most sense for your requirements.

The menu control placed on the MasterPage can either have the data source repointed, or you could decide to put a second control on the page with a different data source. In many cases I'll use two controls, one with some local site collection navigation and one with truly global navigation that is maintained across all site collections.

Here is a reference to the code on MSDN: http://msdn.microsoft.com/en-us/library/cc789625.aspx

Altri suggerimenti

Assuming your site collections are in same web application, you can easily use xml sitemap. Below are the steps:

1) Create a xml sitemap(myxml.sitemap for example) at root web application directory.

2)In web.config, under providers section, add :

<add name="MySPXmlContentMapProvider" siteMapFile="myxml.sitemap" type="Microsoft.SharePoint.Navigation.SPXmlContentMapProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />

3) In master page, you can bind the provider to SiteMapDataSource control and use this datasource for menu:

<asp:SiteMapDataSource ShowStartingNode="False" SiteMapProvider="MySPXmlContentMapProvider" id="xmlSiteMap" runat="server"/> 

<Sharepoint:AspMenu ID="TopNavigationMenuV4" Runat="server" DataSourceID="xmlSiteMap" UseSimpleRendering="true" UseSeparateCss="false" Orientation="Horizontal" StaticDisplayLevels="1" MaximumDynamicDisplayLevels="3" SkipLinkText="" CssClass="s4-tn" />

If your site collections are in different web applications, you can store the sitemap information to a central DB or XML file and create a WCF service to read it. The WCF service can be used as datasource via SharePoint designer.

Check out ECS. It provides security-trimmed cross-site collection navigation, permission and master page inheritance and transparent site collection creation.

http://www.infowisesolutions.com/product.aspx?id=ECS

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top