`
isiqi
  • 浏览: 16082715 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

关于MOSS 2007 and WSS 3.0 Master Page

阅读更多

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

1.Two Dynamic Tokens

1.1 ~masterurl/default.master

这个token 用于一个站点的所有FormsViews的外观,通常这些页面位于_layouts 目录.这个master pageSharepoint Designer中被称为“Default master page”,Site Settings\Look and Feel\Site Master Page Settings”中被称为“System Master Page”,这个master pagepage layout页面中的使用方法如下:

language="C#" MasterPageFile="~masterurl/default.master",sharepoint 加载页面时,这个token “~masterurl/default.master”SPWebMasterUrl属性替换.为了给这个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"

在运行的时候,SPWebCustomMasterUrl的属性值代替.

可以在浏览器中改变给这个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 layoutspage layout页面则继承自Microsoft.SharePoint.Publishing.PublishingLayoutPage.

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics