是否有可能让OOTB PortalSiteMapProvider在SharePoint 2010中从指定的网站集或URL(即不是当前网站集)提供网站层次结构?在MOSS中,这只能通过创建自定义SiteMapProvider,遍历网站集并手动构建导航树来实现。
注意:我不准备写一个 从中读取的自定义SiteMapProvider 静态XML(.sitemap)文件作为常规站点贡献者可能无法访问文件系统上的文件。
一点背景知识......我有一个带有2个网站集的Web应用程序:
我们没有计划为多个门户网站提供便利,因此,我想在两个网站集中使用一致的全局导航栏。理想情况下,我希望“我的网站”能够从主门户网站显示网站层次结构。那么可以将 PortalSiteMapProvider.CurrentSite 属性设置为“http:// intranet /”而不是“http:// intranet / my”
答案 0 :(得分:0)
为了实现这种行为,我编写了自己的Web服务,该服务关闭并遍历另一个网站集的层次结构(使用它自己的PortalSiteMapProvider),并将该结构作为XML文档返回。我显然然后将我的全局导航导航菜单绑定到那个。
我从这里得到了这个概念:PortalSiteMapProvider
此处描述的类似方法使用HttpHandlers代替:http://blog.symprogress.com/2011/03/sharepoint2010-custom-navigation-provider-cross-sitecollection/