Sharepoint2010 模版页的使用

时间:2021-03-19 08:07:50

摘自 Sunmoonfire,原文地址:http://winsystem.ctocio.com.cn/247/11594747.shtml 【保护版权】

 

  SharePoint 2010 母版页的类型

  v4.master

  默认的工作组站点的母版页。提供了功能区和其他用户界面上的改变。

  特征

   网站操作在2010中更新。现在放在左侧。

   功能区可用。

  default.master

  从SharePoint 2007升级的网站使用该母版页,除非我们手工改成v4版本。

  特征

   SharePoint 2007版本的 网站操作在右侧

   没有功能区。

  minimal.master

  母版页中几乎什么也没有。通常用于搜索中心和Office Web应用程序的页面。这个母版页不应该与2007里的开发人员自己修剪下来的最简单的自定义母版页混淆。 minimal.master现在是一个开箱即用的母版页。在SharePoint 2010里那些修剪完的自定义母版页通常是指Starter母版页。

  特征

   不包括导航

  Starter母版页

  SharePoint 2007里通常称为minimal母版页。这些母版页往往是由开发人员创建的,用于快速开始母版页的定制,基于其上扩充功能,做出实际需要的母版页。

  simple.master

  这个母版页是用在登录和错误页面。要自定义该页面,必须替换存放在服务器_layouts目录下的相应页面文件。若要了解更多信息,请参考MSDN上的文章“SharePoint中的默认母版页”。

  使用simple.master 的网页

   Login.aspx

   SignOut.aspx

   Error.aspx

   ReqAcc.aspx

   Confirmation.aspx

   WebDeleted.aspx

   AccessDenied.aspx

  其他母版页

  以下这些杂七杂八的母版页,在定制网站时一般不会去动。

  包括:

   application.master

   applicationv4.master

   dialog.master

   layouts.master

   layoutsv3.master

   pickerdialog.master

   rtedialog.master

   simple.master simple.master

   simplev4.master

   mwsdefault.master

   mwsdefaultv4.master

   admin.master

   popup.master

 

  功能区里的控件

  SharePoint 2010里的下列控件放置在功能区里:

   发布控制台-

   网站操作菜单-

   登录和登录控制(如果使用自定义登录,被移到功能区里了)。

 

  添加功能区

  功能区是用户界面里一个新增加的特性。 SPRibbonPeripheralContent控件会显示在这一区域,但如果需要也可以将其移到功能区外面。

  步骤

  复制并粘贴下面的代码到你的母版页。

以下是代码片段:
<div id="s4-ribbonrow" class="s4-pr s4-ribbonrowhidetitle">

02 <div id="s4-ribboncont">

03 <SharePoint:SPRibbon runat="server" PlaceholderElementId="RibbonContainer" CssFile="">

04 <SharePoint:SPRibbonPeripheralContent runat="server" Location="TabRowLeft" CssClass="ms-siteactionscontainer s4-notdlg">

05 <SPAN style="BACKGROUND-COLOR: #ffff99"> <%-- 在这里插入网站操作菜单 --%> </SPAN>

06 </SharePoint:SPRibbonPeripheralContent>

07 <SPAN style="BACKGROUND-COLOR: #ffff99"><%-- 在这里插入全局导航 --%></SPAN>

08 <SharePoint:SPRibbonPeripheralContent runat="server" Location="TabRowRight" ID="RibbonTabRowRight" CssClass="s4-trc-container s4-notdlg">

09 <SPAN style="BACKGROUND-COLOR: #ffff99"><%-- 在这里插入右上角的控件 --%> </SPAN>

10 </SharePoint:SPRibbonPeripheralContent>

11 </SharePoint:SPRibbon>

12 </div>

13 <div id="notificationArea" class="s4-noti">

14 <SPAN style="BACKGROUND-COLOR: #ffff99"><%-- 通知内容将出现在这个div里 --%></SPAN>

15 </div>

16 <asp:ContentPlaceHolder ID="SPNavigation" runat="server">

17 <SharePoint:DelegateControl runat="server" ControlId="PublishingConsole">

18 </SharePoint:DelegateControl>

19 </asp:ContentPlaceHolder>

20 <div id="WebPartAdderUpdatePanelContainer">

21 <asp:UpdatePanel ID="WebPartAdderUpdatePanel" UpdateMode="Conditional" ChildrenAsTriggers="false” runat="server">

22 <ContentTemplate>

23 <WebPartPages:WebPartAdder ID="WebPartAdder" runat="server" />

24 </ContentTemplate>

25 <Triggers>

26 <asp:PostBackTrigger ControlID="WebPartAdder" />

27 </Triggers>

28 </asp:UpdatePanel>

29 </div>

30</div>

  

  页面滚动时固定功能区

  在母版页上进行以下更改,以保证页面内容滚动时不会影响功能区的使用。

   将页面内容部分移动到下面的div内

   

以下是代码片段:
<div id="s4-workspace">

2 <div id="s4-bodyContainer">

3 内容

4 </div>

5</div>

  如果您的页面是固定宽度的,添加 s4-nosetwidth类到s4-workspace div里。

以下是代码片段:
<div ID="s4-workspace" class="s4-nosetwidth">

  将标题区域移动到如下id的div里。

  

以下是代码片段:
<div id="s4-titlerow">标题区</div>

 

  更新body标记和CSS规则,使其不滚动。 Body标记和规则将类似于下面这样:

 

以下是代码片段:
<body scroll="no" ...>主体内容</body>

  将控件添加到母版页

  有一组控件是SharePont功能必须的,包括:SPPageManager, ScriptManager和 ScriptLink。

  将这些控件添加到您的母版页

   打开您的母版页文件。

   复制并粘贴以下代码,以便添加ScriptManager控件。必须放在form标记内,并且在功能区前面。

以下是代码片段:
<asp:ScriptManager id="ScriptManager" runat="server" EnablePageMethods="false" EnablePartialRendering="true" EnableScriptGlobalization="false" EnableScriptLocalization="true" />

  复制并粘贴以下代码,以便添加SPPageManager控件。 必须放在head标记内。

以下是代码片段:
  <SharePoint:SPPageManager runat="server" />

复制并粘贴以下代码,以便添加ScriptLink控件。必须放在head标记内。

以下是代码片段:
<SharePoint:ScriptLink defer= "true" runat="server"/>

   保存您的母版页文件。

  防止某些区域在模式窗口中显示

  为了防止您的母版页中的某些div块或其他定义好的块显示在模式窗口(也就是那些弹出窗口,往往出现在添加文件,查看文件属性时)中,可以添加类“s4-notdlg”。

  这个问题应该只发生在下列情况下:

  网站使用了自定义的系统母版页(通常与发布页面用的母版页相同)。

  自定义母版页中在模式窗口中应隐藏的区域对应的标记遗漏了s4-notdlg类。

  比如,以下区域将出现在模式窗口中:

以下是代码片段:
<div class=”cccontent”>

2 你的内容

3</div>

  添加s4-notdlg至该类将阻止这种情况的发生

以下是代码片段:
<div class=”cccontent s4-notdlg”>

2 你的内容

3</div>

  添加一个Placeholder以便在母版页中使用Web部件

  虽然我们无法直接在母版页中插入一个WebPart,但是可以通过在母版页中创建一个自定义的(空的)ContentPlaceholderId,由页面布局使用该Id,从而实现在指定位置插入WebPart。

  在SharePoint Designer 2010中的步骤

   在你的自定义母版页中添加一个唯一命名的内容占位符。例如:

以下是代码片段:
<asp:ContentPlaceHolder id="PlaceHolderCopyright" runat="server"/>

   在页面布局中的为该占位符插入自定义内容

以下是代码片段:
<asp:Content ContentPlaceholderID="PlaceHolderCopyright" runat="server"></asp:Content>

  使用SharePoint Designer在新建的区域中插入一个WebPart。如果希望所有继承自该页面布局的页面上都显示该WebPart,不要把WebPart放在WebPartZone里,直接放在该区域内即可。