如何:自定义导航

大多数网站使用某种形式的自定义用户界面 (UI) 向用户提供如何在网站中更加轻松地导航的直观提示,并可查找用户所需的信息。尽管外观(或品牌)因网站而异,但通常都具有相同的基本导航元素,如导航栏和菜单,用户可以选择这些导航栏和菜单公开的选项导航到子网站或页面。

本系列主题描述 Microsoft Office SharePoint Server 2007 导航的工作方式以及通过编程方式和 UI 对其进行自定义的一些方法,其中包括:

  • 使用提供程序和数据源 API 自定义垂直和水平菜单的结构和行为。

  • 了解“导航设置”UI 选项并使用它们来设置网站导航层次结构。

  • 将 Office SharePoint Server 2007 中包含的默认导航提供程序替换成您自己的自定义提供程序。

  • 为网站配置多个导航提供程序。

导航基础

为了便于构建有效的导航元素(如水平和垂直菜单以及痕迹导航),Office SharePoint Server 2007 利用了 Microsoft ASP.NET 2.0 可插入导航,即Provider model。提供程序模型将提供程序定义为一个在服务和数据库之间提供统一接口的软件模块。提供程序提取存储媒体的方法与设备驱动程序提取物理硬件设备信息的方法相同,通过使用提供程序,您几乎可以在任何地方存储状态数据。例如,通过开发自定义提供程序,您可以在各种外部数据提供程序(例如前端 Web 服务、XML 文件和数据库)中存储状态数据。 导航 API 包括一个站点地图提供程序(用于提取站点地图数据)和一个数据源对象(用于映射和筛选提供程序的导航结构和数据以便在导航 UI Web 控件中呈现)。提供程序和数据源 API 包括您可以获取并设置的属性,通过使用这些属性,可以启用灵活的动态选项来自定义您的站点。

Office SharePoint Server 2007 导航以网站为中心,这意味着网站集中的每个网站都可以确定应用程序显示站点层次结构中站点下的每个导航项的方式:一直向下到下一个站点。因此,每个站点都有一些可以通过 UI 或以编程方式设置的导航选项。

您可以创建所需导航,方法是提前确定所需的网站层次结构和要创建的页面,并使用可通过“网站操作”菜单到达的“导航设置”页或 Office SharePoint Server 2007 中的“网站设置”页对层次结构进行微调。

默认导航系统基于网站层次结构,站点导航基于通过 UI 或以编程方式所做的选择来进行。可以设置的选项包括是否在导航中显示子网站和页面、是手动还是自动对导航项进行排序以及如何处理单个排序并显示单个导航项的属性和行为。

当您定义垂直和水平菜单时,您可以部署具有一个或多个静态或动态菜单级别的导航区:

  • 静态菜单项代表层次结构级别,通常对它们进行了超链接。您可以在顶级导航项(根)下创建其他级别的静态和动态菜单项。

  • Office SharePoint Server 2007 基于网站结构创建动态飞出的菜单选项。网站层次结构定义了导航菜单中的级别。

网站可以具有任意数目的静态级别和动态级别。

根据设计,导航控件将检测它们在网站结构中的位置,并使用一种复杂的方法来确定从数据存储中返回节点的顺序。对导航项排序时,Office SharePoint Server 2007 首先从数据存储中返回节点,然后对导航项进行排序。

See Also

参考

Microsoft.SharePoint.Publishing.Navigation

Microsoft.SharePoint.Navigation

其他资源

How to: Work with Menus and Navigation Objects

How to: Modify Navigation Settings through the UI

How to: Customize Navigation Controls and Providers

Best Practices: Using Disposable Windows SharePoint Services Objects