【问题标题】:Extending SharePoint Breadcrumbs across multiple site collections跨多个网站集扩展 SharePoint 面包屑导航
【发布时间】:2009-06-19 17:37:44
【问题描述】:

我一直在尝试找到一种方法来跨多个网站集扩展 SharePoint 面包屑导航,但我一直找不到方法。我可以在网站集上设置 门户网站连接 设置以链接到其父网站集。但是,这不会只显示一个父网站集。这是我正在考虑创建的设置类型的示例。

根站点 Intranet 有一个称为站点的托管路径。在站点下有一个名为 HR 的站点集合,位于 /sites/hr/。在 HR 下还有另一个管理路径设置,称为外展。在外展中有一个名为 Recruiting 的网站集,位于 /sites/hr/outreach/recruiting/。因此,当用户在招聘网站时,我希望他们将 Intranet > HR > Recruiting 视为面包屑路径。

站点地图示例:

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">
    <siteMapNode title="Intranet" url="http://intranet/Pages/Default.aspx">
    <siteMapNode title="HR" url="http://intranet/sites/hr/default.aspx">
            <siteMapNode title="Recruiting" url="http://inranet/hr/outreach/recruiting/default.aspx"/>
        </siteMapNode>
    </siteMapNode>
</siteMap>

在招聘中设置门户网站连接我可以获得HR > Recruiting,当您在招聘和设置门户网站连接时,我可以获得Intranet > HR当您在 HR 站点时。不过我不能。

我尝试使用 SPXmlContentMapProvider 来读取站点地图文件,但是当我将其设置为 SiteMapProvider 时,我根本无法显示它default.masterGlobalNavigationSiteMap 的 SiteMapPath。 (GlobalNavigationSiteMap 是在站点顶部创建面包屑的 SiteMapPath)。但是,相同的体系结构在通用 .NET 应用程序上运行良好,但在 SharePoint 中似乎不起作用。我还正确地将站点地图注册为 defaultProvider,并能够使用它来替换 TopNavigationMenu。 (TopNavigationMenu 是默认 SharePoint 布局顶部的全局导航菜单/按钮栏)。

有没有办法将此功能真正构建到 SharePoint 中?

【问题讨论】:

  • 为什么要为每个子网站使用单独的网站集?

标签: .net sharepoint sharepoint-2007 navigation breadcrumbs


【解决方案1】:

既然您正在实现自定义母版页(或自定义默认母版页),为什么不将面包屑控件替换为您自己的?如果您需要将站点地图与 Sharepoint 生成的地图相结合,或者制作自定义站点地图提供程序。

【讨论】:

  • 我没有尝试构建自定义 SiteMapProvider。我想这将是一个相当密集的过程,但如果你把它做好,就会奏效。有关如何采用这种方法的任何建议?
【解决方案2】:

我想了很多关于为什么不能使用 SPXmlContentMapProvider 的问题,我认为这归结为 SharePoint 如何呈现和使用托管路径。我的理论是这样的:

SharePoint 中的所有网站集位置都是托管路径。由于内容确实存储在数据库中,并且 IIS 将信息呈现为像在文件夹中一样,但页面并不位于文件夹中。相反,该位置位于 SharePoint 的“以太”中的某个位置,而 SPXmlContentMapProvider 看到的任何位置本身都在其他位置,然后是 xml 文件中的条目。现在 Request.Url 确实知道您在哪里,但该信息似乎并未呈现给 SPXmlContentMapProvider

我也想出了一个解决这个问题的方法。您可以手动编辑每个网站集的母版页,以将该网站集的面包屑路径粘贴到 GlobalNavigationSiteMap 前面。因此,每个具有此导航要求的网站集都需要拥有自己的自定义母版页。这是一种丑陋的、蛮力的做事方式,我无意实施。它会起作用,但将是维护的噩梦。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多