SharePoint 2010:将PortalSiteMapProvider指向特定网站集

时间:2011-03-03 16:31:56

标签: sharepoint-2010 navigation sitemapprovider portalsitemapprovider

是否有可能让OOTB PortalSiteMapProvider在SharePoint 2010中从指定的网站集或URL(即不是当前网站集)提供网站层次结构?在MOSS中,这只能通过创建自定义SiteMapProvider,遍历网站集并手动构建导航树来实现。

  

注意:我不准备写一个   从中读取的自定义SiteMapProvider   静态XML(.sitemap)文件作为常规站点贡献者可能无法访问文件系统上的文件。

一点背景知识......我有一个带有2个网站集的Web应用程序:

  • 1表示我的Intranet门户网站 http:// intranet / (已启用发布)
  • 1表示 http:// intranet / my 上的“我的网站”(发布未启用)

我们没有计划为多个门户网站提供便利,因此,我想在两个网站集中使用一致的全局导航栏。理想情况下,我希望“我的网站”能够从主门户网站显示网站层次结构。那么可以将 PortalSiteMapProvider.CurrentSite 属性设置为“http:// intranet /”而不是“http:// intranet / my”

1 个答案:

答案 0 :(得分:0)

为了实现这种行为,我编写了自己的Web服务,该服务关闭并遍历另一个网站集的层次结构(使用它自己的PortalSiteMapProvider),并将该结构作为XML文档返回。我显然然后将我的全局导航导航菜单绑定到那个。

我从这里得到了这个概念:PortalSiteMapProvider

此处描述的类似方法使用HttpHandlers代替:http://blog.symprogress.com/2011/03/sharepoint2010-custom-navigation-provider-cross-sitecollection/