您的位置:首页 > 其它

[转]MOSS 2007基础:WSS 3.0 中的母版页(Master Pages)和内容页(Content Pages)

2009-01-04 17:46 459 查看
原文地址:http://robgarrett.com/cs/blogs/software/archive/2006/07/03/2065.aspx

  这篇很短的文章展示了ASP.NET2.0中的母板页和内容页在Windows SharePoint Services v3.0中的应用。WSS 3.0 是在ASP.NET 2.0 的基础上实现的,所以WSS 3.0中母板页/内容页也是基于ASP.NET 2.0中的相应功能而实现站点定制的。网上已经有很多介绍ASP.NET2.0中母版页的文章了。下面提供的链接来源与MSDN,个人认为是一篇介绍ASP.NET 2.0中母版页组成结构的很好的入门文章。

  http://msdn.microsoft.com/msdnmag/issues/04/06/ASPNET20MasterPages/

  全局母版页

  母版页允许多级嵌套。所有在sharepoint中的站点都使用default.master这个母版页。这个文件位于C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATEGLOBAL这个目录下。这个default.master母版页是全局母版页。任何对该页面的修改将影响所有的sharepoint站点,而且会影响管理中心站点。

  在Sharepoint Designer中编辑母版页

  SharePoint Designer是原来的FrontPage的替代工具。SPD(就是sharepoint designer)允许网站设计者以可视化的设计界面定制sharepoint站点的外观和样式。当我们打开一个sharepoint站点,SPD的左上方会列出站点的结构。这个sharepoint站点里面包括的文件夹,列表,模板和页面一目了然。我们要找的母版页位于以下路径:_catalogs/masterpage/default.master

  在设计视图中查看站点的母版页,在XHTML标记中指定了全局母版页。在我们对其做编辑之前,实际上所有的这个指向都指到同一个页面。但当我们编辑并保存后,SPD会在SharePoint的数据库中为我们保存一个定制后的母版页版本。这和SharePoint 2003中的页面定制机制(或者叫un-ghosting)是一样的。当一个页面被定制后,之前的ghosting关系就被断掉了。即不会在指向磁盘文件系统中的某个文件,而是在数据库中保存了该页面的定制后版本。

  注意:在对站点的母版页做了改动后,这个改动将影响站点下所有的页面。但在_layouts目录下的页面除外。因为这些页面实际上不是站点内的页面,它们使用了一个不同的母版页(实际上也放在_layouts目录下)。这类页面的一个典型的例子就是“网站设置”页面。

  SPD可以允许我们将已经定制过的页面恢复成原来的模板指定的状态。这是我们在FrontPage时代梦寐以求的一个功能。在定制后的页面文件上点击右键,在上下文菜单中就包括了这个选项。

  内容页面

  Sharepoint里的内容页在页面声明中使用MasterPageFile属性指定了其使用的母版页。典型的默认母版页的URL地址为~masterurl/default.master。其中的~masterurl指定了该站点的母版页的存放位置,所有的这些都是又sharepoint控制的。在sharepoint的母版页中定义了许多占位符(content placeholder)。这些占位符定义了页面的不同区域,开发人员可以定制占位符最终显示给用户的内容。SharePoint中定义的占位符中多数并不允许用户重写其内容。

  多数的sharepoint页面都包括了PlaceHolderMain这个占位符,它控制了页面的主要内容部分。典型情况下,该占位符将包括一个web部件区域,用来拖webpart进去。但对于开发人员来说,我们可以用来放置我们想要放的任何东西。

  下面的表格列出了sharepoint的母版页中定义的占位符:(详细位置请对照default.master)

占位符的Name描述
PlaceHolderAdditionalPageHead需要写在页面<head>标签里的附加内容,如引用的脚本或样式文件
PlaceHolderBodyAreaClass附加在页面顶部的body中的样式
PlaceHolderBodyLeftBorder页面body的边框元素
PlaceHolderBodyRightMargin页面body的右边距
PlaceHolderCalendarNavigator在页面中有日历时为其显示一个日期选择框
PlaceHolderFormDigest这是页面中必备的 "form digest"安全组件
PlaceHolderGlobalNavigation站点导航
PlaceHolderHorizontalNav导航标签
PlaceHolderLeftActions左侧导航区下面的动作区
PlaceHolderLeftNavBar左侧导航区
PlaceHolderLeftNavBarBorder左侧导航区的边框元素
PlaceHolderLeftNavBarDataSource左侧导航区菜单的数据源
PlaceHolderLeftNavBarTop左侧导航区上面的导航区
PlaceHolderMain页面主体
PlaceHolderMiniConsole一个放置页面级命令的地方,比如在WIKI站点里的Edit Page, History, Incoming Links
PlaceHolderNavSpacer左侧导航区的宽度
PlaceHolderPageDescription页面描述区
PlaceHolderPageImage页面左上的图标
PlaceHolderPageTitle页面的<Title>,通常显示在浏览器的标题栏
PlaceHolderSearchArea搜索框
PlaceHolderSiteName站点名称
PlaceHolderTitleAreaClassTitleArea附加的样式
PlaceHolderTitleAreaSeparatorTitleAreaSeparator区
PlaceHolderTitleBreadcrumbTitleBreadcrumb区
PlaceHolderTitleInTitleAreaBreadcrumb区下面的标题
PlaceHolderTitleLeftBorderTitle区左侧边框
PlaceHolderTitleRightMarginTitle区右侧空白
PlaceHolderTopNavBar标签导航区
PlaceHolderUtilityContent页面底部需要的一块特殊内容
SPNavigation在 Windows SharePoint Services中默认为空,用于附加的页面编辑控件
WSSDesignConsole页面编辑控件,当页面进入编辑页面模式时使用(当我们点 Site Actions, Edit Page后)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: