关于MOSS 2007 and WSS 3.0 Master Page(转)

原文:http://blog.csdn.net/msonchina/archive/2008/02/03/2079200.aspx

MOSS 2007中的Master Page和在ASP.net中使用的Master Page是一样的.它们定义了网站的LOOK and Feel以及标准的行为,使得定制非常容易. Page layout的概念类似于ASP.net 2.0中的Content Page,它指向一个Master Page并且实现Content Placeholders 的内容.默认的情况下,在MOSS 2007和WSS 3.0中使用的master page 是站点范围的.也就是说当改变master page时,他影响的是一个站点内的所以页面.Master pages 由两个动态的tokens引用.

1. Two Dynamic Tokens
1.1 ~masterurl/default.master
这个token 用于一个站点的所有Forms和Views的外观,通常这些页面位于_layouts 目录.这个master page在Sharepoint Designer中被称为“Default master page”,在Site Settings\Look and Feel\Site Master Page Settings”中被称为“System Master Page”,这个master page在page layout页面中的使用方法如下:

language="C#" MasterPageFile="~masterurl/default.master",当sharepoint 加载页面时,这个token “~masterurl/default.master”被SPWeb的MasterUrl属性替换.为了给这个token指定一个master page,可以在浏览器中导航到Site Settings\ Look and Feel\Site Master Page Settings, 从“System master page”选择一个master file,如图所示:


1.2 ~masterurl/custom.master
这个token用于站点内的所有publishing 页面.在Sharepoint Designer中被称为“Custom master page”,在“Site Settings\Look and Feel\Site Master Page Settings”中被称为“Site Master page”.当打开DefaultLayout.aspx页面时,可以看到如下的代码:

Page language="C#" MasterPageFile="~masterurl/custom.master"

在运行的时候,被SPWeb的CustomMasterUrl的属性值代替.

可以在浏览器中改变给这个token指定的master page.方法是在Site Settings\ Look and Feel\Site Master Page Settings.的“Site Master Page”下拉列表中选择.如下图所示:


此外,这些master page tokens可以在Sharepoint Designer中通过在master page 上右击选择“Set as Default master page” or “Set as custom master page”设置.如图所示:


2. Static Tokens
WSS 3.0站点有两个静态的tokens.如果自己的master page 在站点的Master page gallery 里,可以通过在页面中加入MasterPageFile=“~site/xxx.master”来使用这个master page. 如果master page定义在根站点的master page gallery 中,可以在页面中这样引用这个master page MasterPageFile=“~sitecollection/xxx.master”

DefaultPageLayout.aspx and Page Layouts

DefaultLayout看起来好像是一个特殊的layout page,为网站所有的publishing 页面定义了默认的layout.有意思的事情是当你检查所有的page layout aspx文件的MasterPageFile属性时,只有DefaultLayout.aspx包含着MasterPageFile 属性,其值为“~masterurl/custom.maseter”. DefaultLayout.aspx继承自Microsoft.SharePoint.WebPartPages.WebPartPage,但是其它包含你自己创建的page layouts的page layout页面则继承自Microsoft.SharePoint.Publishing.PublishingLayoutPage.

所以我猜想PublishingLayoutPage类和DefaultLayout.aspx有一些关系,至少DefaultLayout.aspx的master page将被所有继承自PublishingLayoutPage的page layouts 所复用.所以如果想创建一个使用另一个而不是custom master page 的master page 的页面,就需要把基类PublishingLayoutPage改为WebPartPage 并且设置MasterPageFile属性.

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/msonchina/archive/2008/02/03/2079200.aspx

posted @ 2010-04-08 19:15  玛雅人  阅读(202)  评论(0编辑  收藏  举报