通过 UI 修改导航设置

您可以在 Office SharePoint Server 2007 UI 的“导航设置”页面中配置导航选项。可以通过“网站操作”菜单或者从“网站设置”页面访问该页面。

图 1.“导航设置”页面

要向 Office SharePoint Server 2007 网站提供数据,PortalSiteMapNodeProvider 对象会检查为网站定义的继承设置和其他导航属性。下表列出了“导航设置”页面上的选项,标识了相应的类和属性,并介绍设置各个选项的影响。

导航选项

说明

显示子网站

控制导航过程中是否自动包括子网站

显示页面

控制导航过程中是否自动包括页面

自动排序

使用指定的排序条件排列导航项目。

可以使用排序窗格将导航项目从一个标题移到另一个标题。

手动排序

使用排序窗格重新排列导航项目。

自动排序页面

使用排序窗格重新排列除页面之外的所有导航项目。Office SharePoint Server 2007 使用指定的排序条件排列页面项目,但您也可以使用排序窗格将页面从一个标题移到另一个标题。

显示与父网站相同的导航项目(全局)

指示非首要网站的默认设置。

指示网站应该使用(继承)父网站所用的全局导航项目。

显示当前网站下方的导航项目(全局)

指示网站下方的项目应该填充网站的全局导航项目。

显示与父网站相同的导航项目(当前)

指定在默认情况下当前导航不继承父网站导航。

对于给定的网站,选择此选项通常会使数据源从当前网站的直接父网站(即在网站层次结构中位于该网站上一级的网站)开始。

显示当前网站、当前网站下方的导航项目和当前网站的同级网站(当前)

指示数据源从当前网站的直接父网站(即在网站层次结构中位于该网站上一级的网站)开始。它包括当前网站及其同级网站,但不包括同级节点的子节点。

仅显示当前网站下方的导航项目

指示该网站的当前导航项目只应由当前网站下方的项目填充。

导航编辑和排序

使用该选项可重新排列属于该网站的任意子网站、页面和标题。

您可以将标题下的链接、子网站和页面分组。可以将标题链接到目标 URI 或者不链接标题。

全局导航和当前导航设置

“全局导航”和“当前导航”设置部分包含的选项会影响访问给定网站时数据源从网站层次结构的哪一级开始。

大多数情况下,默认设置会导致从首要网站继承全局导航;但显然无法从首要网站继承。如果更改网站层次结构中更深处某个网站的“全局导航”设置,将会导致 Office SharePoint Server 2007 重新定位该网站以及该网站下面所有网站的全局导航。即使将 StartFromCurrentNode 属性设置为 true,Office SharePoint Server 2007 数据源也会从当前节点开始在网站层次结构中导航,直到找到不能继承的网站为止,并从此处开始。

相比之下,在默认情况下,“当前导航”不继承,它通常是从当前节点开始的。

备注

当查看首要网站的“导航设置”页面时,UI 不包括“全局导航”和“当前导航”部分。首要网站没有可从中继承导航项目的父导航,所以首要网站会显示自己的导航项目。

合成提供程序的行为和“导航编辑和排序”窗格

在两个“全局导航”选项之间切换可更改“导航编辑和排序”窗格显示数据的方式,具体说明如下:

  • 当选择“显示当前网站下方的导航项目”时,该窗格就会拆分成“全局导航”和“当前导航”两个部分,允许单独配置全局导航项目和当前导航项目。

  • 当选择“显示与父网站相同的导航项目”时,就不会将这两部分分割开。

该行为与 CombinedPortalSiteMapProvider 相关,通常由它来控制顶级导航菜单。如果网站不继承全局导航项目,CombinedPortalSiteMapProvider 就使用全局导航的项目和设置;如果网站继承全局导航,它就使用当前导航项目和设置。这意味着,如果网站继承全局导航,则排列全局导航项目没有任何用处;网站会转而使用当前导航项目。

在将网站设置为继承全局导航时,Windows SharePoint Services 3.0SPNavigation 对象的某些限制会禁止在 SPNavigationTopNavigationBar() 属性中存储项目。因此,您无法将全局导航与当前导航分开配置,除非网站显示自己的全局导航项目,而这会使自定义全局提供程序的任何尝试都失败。

备注

Office SharePoint Server 2007 在内部使用全局提供程序,因此请勿从 web.config 文件中移除其定义。

您可设置各个网站,确定要显示的导航链接及其排序方式。

更改网站的导航设置

  1. 单击“网站操作”,再单击“修改导航”。

  2. 若要显示网站下的单个页面,请选中“显示页面”复选框。

    您可以选择自动或手动对页面、链接和子网站进行排序。

还可以使用 Office SharePoint Server 2007 对象模型来修改默认导航信息。下列代码示例加载了 SPSite 对象,获取了首要网站的 PublishingWeb 对象,并修改了网站的导航信息。

SPSite siteRoot = new SPSite("http://ossserver:80");
PublishingWeb myPublishingWeb = PublishingWeb.GetPublishingWeb(siteRoot.RootWeb);
myPublishingWeb.IncludePagesInNavigation = false;
myPublishingWeb.NavigationOrderingMethod = OrderingMethod.Automatic;
myPublishingWeb.NavigationAutomaticSortingMethod = AutomaticSortingMethod.Title;
myPublishingWeb.NavigationSortAscending = true;
myPublishingWeb.Update();

See Also

参考

Microsoft.SharePoint.Publishing.Navigation

Microsoft.SharePoint.Navigation

概念

如何:自定义导航

处理菜单和导航对象

自定义导航控件和提供程序