0

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

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

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

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

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

4

1 回答 1

0

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

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

这里描述了一种类似的方法,它使用 HttpHandlers 代替:http: //blog.symprogress.com/2011/03/sharepoint2010-custom-navigation-provider-cross-sitecollection/

于 2011-06-06T14:02:22.457 回答