我一直试图找到一种方法将SharePoint面包屑扩展到多个站点集合,但我一直无法找到一种方法。我可以将网站集合上的门户网站连接设置为链接到其父网站集合。但是,这将不会只显示一个父站点集合。下面是我要创建的设置类型的一个示例。
根站点Intranet有一个名为sites的托管路径。在站点下面有一个名为HR的站点集合,位于/ sites /hr/。在人力资源下,还有另一个被管理的路径被设置为外联。在外展中,有一个名为“/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,在HR站点上设置门户站点连接,我可以在人力资源站点中获得Intranet > HR。但我做不到。
我尝试过使用SPXmlContentMapProvider读取站点地图文件,但是当我将它设置为default.master中的SiteMapPath of GlobalNavigationSiteMap时,它根本无法显示。(GlobalNavigationSiteMap是在站点顶部创建面包屑的SiteMapPath )。然而,相同的体系结构在一般的.NET应用程序上工作得很好,但在SharePoint中却不起作用。我还正确地将站点地图注册为defaultProvider,并能够使用它来替换TopNavigationMenu。(TopNavigationMenu是默认SharePoint布局顶部的全局导航菜单/按钮栏)。
是否有办法将此功能实际构建到SharePoint中?
发布于 2009-07-21 10:20:01
既然您正在实现自定义的主页(或自定义默认的主页),那么为什么不用自己的控件替换面包屑控件呢?或者,如果您需要将站点地图与Sharepoint生成的地图结合起来,就可以定制一个站点地图提供商。
发布于 2009-07-21 15:00:06
我想了很多为什么您不能使用SPXmlContentMapProvider,我认为这取决于SharePoint如何呈现和使用托管路径。我的理论是:
SharePoint中的所有站点集合位置都是托管路径。由于内容实际上存储在数据库中,而且IIS将信息显示为文件夹中的信息,所以页面并不位于文件夹中。相反,这个位置位于SharePoint的“以太”中,不管SharePoint本身位于哪个位置,它都是其他位置,而不是xml文件中的条目。现在,SPXmlContentMapProvider.确实知道了您的位置,但是这些信息似乎并没有呈现给Request.Url。
我也想出了一个解决这个问题的办法。您可以手动编辑每个站点集合的母版页,以便将该站点集合的面包屑路径放在GlobalNavigationSiteMap前面。因此,具有此导航需求的每个站点集合都需要有自己的自定义母版页。这是一种丑陋的,蛮力的做事方式,我无意去实施。它可以工作,但将是一个维护噩梦。
https://stackoverflow.com/questions/1019150
复制相似问题