概述
Microsoft Visual Studio 2010 中的 SharePoint
开发工具提供了一种简易实用的秘籍,用来对使用沙盒化解方案将品牌应用到
Microsoft SharePoint 二零零六网址所需的文本和代码举办李包裹装和布置。本文介绍了采取可计划到运行SharePoint Foundation 20十 或 SharePoint Server 20拾 的 SharePoint 2010场的自定义母版页、级联样式表文件(CSS
文件)和图像成立沙盒兼容品牌消除方案的一级做法。

面向沙盒的原由
为中期版本的 SharePoint
产品和技术开发的事体化解方案唯有一种配备方法。面向 Windows SharePoint
Services 3.0 或 Office SharePoint Server 200七 场的 SharePoint
化解方案必须由劳动器场管理员在劳动器场级别限制内配置。因为劳动器场化解方案布置供给将自定义文件的范围界定在前者
Web
服务器,所以会对劳动器场的运转境况带来一定危机。其余,超越陆壹%服务器场化解方案会在
Web 服务器上的全局程序集缓存中设置自定义程序集
DLL,那样允许内部的代码以完全信任措施运转。因而,许多服务器场管理员要求SharePoint
化解方案必须先经过冗长的代码检查和严酷的测试进程,然后才能布署在
Sharepoint 场中。某个 SharePoint
环境中的服务器场管理员供给更甚,完全禁绝 SharePoint
化解方案的劳务器场级别配备。

SharePoint 2010引进了新的沙盒类别布局,能提供有价值的劳务器场级别配备替代方式。与劳动器场化解方案布署区别,沙盒化解方案陈设不须求服务器场管理员。相反,作为沙盒化解方案开发的
SharePoint
化解方案可由网址集范围内的政工用户上载和激活。那样可大大地加速自定义
SharePoint
化解方案投入劳动的进度。沙盒消除方案还用于在面向不允许服务器场消除方案安插的环境(如
SharePoint Online)的 Visual Studio 20十 中付出自定义 SharePoint
消除方案。

有关新的沙盒种类布局,有非常重要的一点你应该完全了然。设计和开发与沙盒包容的
SharePoint
消除方案将净增你的配备选项。那是因为你能够将已开发为面向沙盒的
SharePoint 消除方案布署为沙盒化解方案或劳动器场消除方案,而这唯有因为将
SharePoint
化解方案开发为沙盒消除方案并不意味总是必须将其配备为沙盒化解方案。

本文包蕴沙盒解决方案怎么着提供更加大的灵活性的以身作则。在不允许服务器场级别消除方案布置的
SharePoint 场中,用户可在网址集上下文内上载和激活 SharePoint
化解方案。在另三个平素不这一个限制的 SharePoint 场中,相同的 SharePoint
化解方案可配置为服务器场化解方案,那样就能博取更加高水准的属性和可维护性。那样,当沙盒的自律不会阻拦你成功所需操作时,您就会有一连面向沙盒的筹划重力。

 

沙盒的开发技术

在付出沙盒化解方案时,很多 SharePoint
开发人士技术没办法选用。例如,沙盒消除方案不恐怕在 Web 服务器文件系统上的
SharePoint
根目录或其余其余位置配置文件。那代表你不能够将品牌文件陈设到劳动器场消除方案中的常用地点,如
IMAGES 目录或 LAYOUTS
目录。相反,您必须在托管网址集范围内的始末数据库内部设置品牌文件,如图像和
CSS 文件。

在为沙盒化解方案编写制定代码时,还有别的部分值得注意的范围。尽管你能够访问
SharePoint Foundation 20十的服务器端对象模型,但假诺与在劳务器场消除方案中编辑代码时提供的效应比较,沙盒化解方案中提供的效益相当有限。

壹般而言,若要设计高级别的沙盒化解方案,首先要添加二个或多个效益。当您向沙盒消除方案添加有些成效时,能够为该功用分配2个网址级别或网址集级其余激活范围。但是,沙盒化解方案无法包括服务器场级别或
Web 应用程序级别激活范围的功力。

在开班开发沙盒化解方案时,必须分别在网址集范围内激活的作用和在网址限制内激活的作用,那一点很重点。那是因为布置为在网址集范围内激活的作用将在用户激活包涵它的沙盒化解方案时自动激活,而陈设为在网址限制内激活的职能将不会活动激活。这么些意义亟须由用户手动激活或选择自定义代码激活。出于此原因,您一般应设计至少有四个作用配置为在网址集范围内激活的沙盒消除方案。那样你便能在用户激活你的沙盒消除方案时加以控制。

您能够在沙盒消除方案内部向效率丰硕效果接收器,正如对服务器场化解方案所做的同等。不过请留心,您为沙盒消除方案中的作用接收器编写的代码将在
SharePoint Foundation
沙盒代码服务中实践,并且受沙盒种类布局的封锁。幸运的是,您可以访问服务器端对象模型中的基本功效,那样一来,您能够将网站集中的保有网址配置为利用自定义母版页和自定义
CSS 文件。

 

 

行使模块配置文件

在开创品牌化 SharePoint 2010 网址的 SharePoint
化解方案时,需求计划自定义文件,如母版页、CSS
文件和图像。在开立沙盒化解方案时,无法注重服务器场化解方案(当中的自定义文件安插在
Web 服务器文件系统上的 SharePoint
根目录中)中的常用技术。相反,您必须接纳 Module
元素(模块)
从文件模板配置那么些文件的实例。

例如,假使您要将名称叫 MyCustomLayout.master
的母版页安插到主要网址中的母版页样式库,则能够先创制范围限于网址集级别的成效,然后在蕴藏自定义牌子化解方案的
HTML 布局的职能目录中添加名称叫 MyCustomLayout.master
的模版文件,最终将含有以下 Module 成分(用于配置
MyCustomLayout.master 的实例)的因素清单添加到母版页样式库中。

XML

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Module Name="MasterPageGallery" Url="_catalogs/masterpage" >
    <File Url="MyCustomLayout.master" Type="GhostableInLibrary" >
      <Property Name="UIVersion" Value="4" />
      <Property Name="ContentTypeId" Value="0x010105" />
    </File>
  </Module>
</Elements>

在开创那样叁个 Module
元一向配置文档库(如母版页样式库)中的文件时,您一定要运用文书档案库根目录的网址相对路径来安顿
Module 元素的 Url
属性。在将母版页提供给母版页样式库时,Module 元素的 Url
属性应始终使用_catalogs/masterpage 的正规化路径举办布署。

在将文件设置为放在文书档案库范围内时,各个 File
元素(模块)
都应包涵具有
GhostableInLibrary 值的门类属性,如上面包车型客车代码示例所示。在 SharePoint
2010 中安装母版页时,还应在 File 成分中添加多个
Property
元素以布置七个第二属性
UIVersion
ContentTypeId

SharePoint Foundation 使用母版页的 UIVersion 属性来分别为新
SharePoint 20十 用户界面 (UI) 和为 Office SharePoint Server 200七 的旧 UI
设计的母版页。假使根据 SharePoint 2010 UI 设计母版页,则应选用值 4
配置 UIVersion 属性。若是已遵依旧 UI
设计母版页,则足以行使直观升级方案中的值 3 来配置 UIVersion
属性。

ContentTypeId 属性用于区分 SharePoint Server 20十发布网址使用的母版页和页面布局。在配置母版页时,应使用正确的母版页
ContentTypeId 值实行布署,该值为 0x010105

将 CSS 文件和图像安排到样式库

在 Office SharePoint Server 200七中,宣布意义成立一个名称叫“样式库”的例外文书档案库,Microsoft
使用该库来配置宣布网站中利用的正统 CSS
文件和图像文件。样式库还时时被选取 CSS 文件和图像文件的 Web
设计职员和开发人士作为铺排目的使用,以便将品牌因素运用于 Office
SharePoint Server 200七 揭橥网址。

为 SharePoint Server 二〇〇9场开发通用和可选拔的牌子化解方案时不能利用样式库,因为该库只设有于发表网址中。您在开立其余类其余网站(如组织网址、空白网址或文书档案工作区)时,Windows
SharePoint 瑟维斯s 三.0 不会成立样式库。幸运的是,那在 SharePoint 二零零六中不再成为难点了。

在 SharePoint 20十 中,每一个网址集都有和好的样式库。那是因为 Microsoft
已将成立样式库的正统设置验证从透露意义移到了大局网址定义中。SharePoint
Foundation 二〇〇玖每趟成立新网址集时都会将样式库添加到至关重要网址。那使得样式库成为在通用品牌消除方案中配备
CSS 文件和图像文件的名特别优惠之选。

创建 Branding101 项目

前些天,该采纳 Visual Studio 二零一零 中的 SharePoint
开发工具执行创制通用牌子消除方案的手续了。您能够先创建三个名称为Branding拾1 的空白 SharePoint 项目,如图 1 所示。

图 一. 新的空白 SharePoint 项目
XML 1

在开立新的 SharePoint 项目时,SharePoint 自定义向导会提醒您提供地点SharePoint 测试网址的
U奥迪Q3L,并精选“布置为沙盒消除方案”或“布署为场消除方案”实行测试。请确认保障选取“布置为沙盒消除方案”,如图
② 所示。

图 二. 布置为沙盒消除方案
XML 2

创造并配备自定义母版页

开创自定义品牌化解方案的第二步是创造新的自定义母版页。首先创制二个新的“模块”项目项,用于将自定义母版页布置到母版页样式库。

在 Visual Studio 20十的缓解方案财富管理器中,右键单击“Branding拾1”项目节点。在“项目”菜单上,选取“添加”,再选用“新建项”。

在“添加新项”对话框中,新建一个名称为 MasterPageGallery
的“模块”项目项,如图 三 所示。

图 3. MasterPageGallery 模块
XML 3

创设新模块后,该模块将富含多个名字为 Elements.xml 的成分清单和3个名叫Sample.txt 的演示成分文件。右键单击 萨姆ple.txt 文件,并将其重命名称为
Branding101.master,如图 4 所示。

图 4. MasterPageGallery 项目项
XML 4

下一步是修改 Branding10一.master
模板文件的始末,作为自定义母版页的起头点。常用的章程是从名叫 v肆.master
的科班 SharePoint 20十 母版页复制和粘贴文本。使用 Windows 财富管理器找到
v四.master 模板文件,该文件存在于以下途径中。

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\GLOBAL\v4.master

找到 v四.master
模板文件后,打开该公文并将其剧情复制到剪贴板。然后,在类型中开拓
Branding101.master 模板文件并删除该公文中的全体剧情。在
Branding拾一.master 里面粘贴 v4.master 的内容,然后保留更改。从 v肆.master
得逞复制内容后,关闭该模板文件而不保留任何改变。

日前,您的自定义母版页具有与专业 SharePoint 2010 母版页 v四.master
同等的内容。此时,有至关重要至少向 Branding十1.master
添加一个急速修改,这样你便具有了辅助分明自定义母版页的应用时间的可视反馈。可透过找到
Branding十一.master
中的打开正文标记并在其正下方添加以下成分来成功此操作。

XML

<div style="background-color:yellow">Branding101.master</div>

既然已成立自定义母版页,那么就无法不修改 MasterPageGallery 模块中的
Elements.xml
文件,以确认保证该文件在效益激活进度中正确布置到母版页样式库。打开
Elements.xml 文件,并采纳以下 XML 内容更新 Module 成分及其内部
File 元素。

XML

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Module Name="MasterPageGallery" 
          Path="MasterPageGallery" 
          Url="_catalogs/masterpage" >

    <File Url="Branding101.master" Type="GhostableInLibrary" >
      <Property Name="UIVersion" Value="4" />
      <Property Name="ContentTypeId" Value="0x010105" />
    </File>

  </Module>
</Elements>

此刻,您已到位对 MasterPageGallery
模块的发端操作。今后,您应该将集中力转向将用以计划此模块的效应。请留意,当你将此模块添加到
Branding101 项目时,Visual Studio 2010 中的 SharePoint
开发工具将活动创设三个名为 Feature一的新功用。在缓解方案财富管理器中找到此功用,右键单击此成效并将其重命名称叫
Main

重命名此成效后,右键单击成效节点,那样您便能在“成效设计器”中来看此功效。将成效的“标题”更改为更确切的内容(如“Branding
10一 示例作用”),如图 5所示。同时,也务必将成效的“范围”从“Web”更改为“网址”,以便在网址集级别而不是在网址级别激活效用。

图 伍. 功效设计器中的 Branding 十一 示例功用
XML 5

创制并配备自定义 CSS 文件

开创自定义母版页后,下一步是添加富含品牌消除方案的 CSS 规则的自定义 CSS
文件。如前所述,在 SharePoint 20十 中的最好做法是,在样式库中配置自定义
CSS
文件,因为样式库同时适用于沙盒消除方案和劳务器场消除方案。此格局可在运作
SharePoint Server 20十 的劳动器场中使用,也可在只运维 SharePoint
Foundation 的服务器场中应用。请务必注意,别的很多用以品牌化 SharePoint
2010 网站的常用方法不可能提供那种程度的油滑。

在缓解方案能源管理器中,右键单击“Branding十一”项目节点,并在“项目”菜单上摘取“添加”,再选择“新建项”。

在“添加新项”对话框中,新建二个名称为“样式库”的“模块”项目项,如图 6 所示。

图 陆. 样式库模块
XML 6

新“模块”项目项最初包涵三个名叫 Elements.xml 的因素清单和多少个名为Sample.txt 的以身作则成分文件。右键单击 Sample.txt 并将该文件重命名字为
Styles.css

接下去,右键单击“样式库”模块节点,并在“项目”菜单上,选用“添加”,再选择“新建文件夹”,以便在“样式库”模块中创设一个新的子文件夹。将该文件夹命名称为
Branding101

创制该公文夹后,您能够在化解方案资源管理器中校 styles.css
文件拖动到该公文夹中。

图 七. 样式库模块中的 Styles.css 文件
XML 7

将 styles.css
文件移到“Branding十一”文件夹之后,打开该文件并删除全体现有内容。然后,为正文标记添加简单的
CSS 规则,并确认保障 速龙liSense
不荒谬干活。添加以下上面距属性,以便得到部分关王丽萍确链接到该 CSS
文件的岁月的可视反馈。

body {
  padding-top: 50px;
}

下一步是向品种中添加一些图像文件。最棒艺术是添加样式库中的自定义图像文件,那样就更便于从自定义
CSS
文件中援引这几个图像文件。在“Branding十1”文件夹中,创设“Images”文件夹,并向该公文夹添加1些图像文件。此示例使用五个图像:贰个图像文件名字为Background.jpg,用作页面正文的双重背景图像;另1个图像名叫Logo.gif,用作网站徽标。

图 八. 样式库中的图像文件
XML 8

向“Images”文件夹添加图像文件后,您能够因此 styles.css 中的 CSS
规则轻松地引用那几个图像文件。若要对此展开出现说法,请向 styles.css
文件添加以下更新以将 Background.jpg 用作页面正文的再度背景图像。

body {
  padding-top: 50px;
  background-image: url('Images/Background.jpg');
  background-repeat: repeat;  
}

那时候,您已形成了运用样式库的起来工作。与使用在此之前创造的
MasterPageGallery 模块区别,您不用手动修改 Elements.xml 文件。Visual
Studio 2010 中的 SharePoint 开发工具可在后台添加全体适当的 File
成分。别的,您还足以继承向“Images”文件夹添加更多图像文件,那一个图像文件将自行计划在样式库中的正确地点。

加上意义接收器以使用品牌属性

既然如此已添加四个“模块”项目项来布局自定义母版页和自定义 CSS
文件,今后能够编写一些代码来选取那四个档次项。为此,向名称为“Main”的成效丰硕效果接收器。在化解方案财富管理器中,右键单击“Main”功效节点,然后选取“添加事件接收器”以添加效果接收器类。

图 九. 充裕事件接收器
XML 9

在服从接收器类中,必须覆盖和促成
FeatureActivated

FeatureDeactivating
那三个章程。编码时,首先要祛除一视同仁构作用接收器类的源文件,如上面包车型客车示范所示。

C#

using System;
using System.Runtime.InteropServices;
using Microsoft.SharePoint;

namespace Branding101.Features.Main {
  [Guid("cc5874a5-695b-49d2-9cd2-4fa12be83874")]
  public class MainEventReceiver : SPFeatureReceiver {
    public override void FeatureActivated(
                           SPFeatureReceiverProperties properties) {

      // TODO: add activation code here.
    }

    public override void FeatureDeactivating(
                           SPFeatureReceiverProperties properties) {

      // TODO: add deactivation code here.
    }
  }
}

于今,让大家询问一下激活首要职能时务必实施的操作。首先,必须鲜明母版页样式库中的
Branding十一.master 的门道,以便将网址配置为将 Branding101.master
用作其母版页。请小心,必须绝对于宿主 Web
应用程序的根目录估算母版页的不2诀窍。然后,必须枚举当前网址集中的拥有网址,并更新各个网址的一点质量以应用自定义母版页和自定义
CSS 文件。下边包车型的士 FeatureActivated 方法完毕用于创新各样网址必需的
SPWeb 属性。

C#

public override void FeatureActivated(
                       SPFeatureReceiverProperties properties) {
  SPSite siteCollection = properties.Feature.Parent as SPSite;
  if (siteCollection != null) {
    SPWeb topLevelSite = siteCollection.RootWeb;

    // Calculate relative path to site from Web Application root.
    string WebAppRelativePath = topLevelSite.ServerRelativeUrl;
    if (!WebAppRelativePath.EndsWith("/")) {
      WebAppRelativePath += "/";
    }

    // Enumerate through each site and apply branding.
    foreach (SPWeb site in siteCollection.AllWebs) {
      site.MasterUrl = WebAppRelativePath + 
                       "_catalogs/masterpage/Branding101.master";
      site.CustomMasterUrl = WebAppRelativePath + 
                             "_catalogs/masterpage/Branding101.master";
      site.AlternateCssUrl = WebAppRelativePath + 
                             "Style%20Library/Branding101/Styles.css";
      site.SiteLogoUrl = WebAppRelativePath + 
                         "Style%20Library/Branding101/Images/Logo.gif";
      site.UIVersion = 4;
      site.Update();
    }
  }
}

SPWeb
对象的
MasterUrl
属性用于将网址页和应用程序页重定向为链接到自定义母版页,如
Branding十一.master。上面包车型客车代码示例通过将 Web
应用程序相对于网站的门道与网址相对于重点网址中母版页样式库的路线组合,估计Branding拾一.master 的路线,值始终为 _catalogs/masterpage

XML 10注释:

MasterUrl 属性之外,此示例还创新名叫
CustomMasterUrl
SPWeb 属性。更新 CustomMasterUrl
属性仅在富含“页面”文书档案库中的发表页面包车型客车发布网址中很首要。CustomMasterUrl
属性用于为发表页面重新分配母版页。向 SharePoint Foundation 网址中的
CustomMasterUrl 属性分配新值不会产生其余影响,也不会促成别的难题。

AlternateCssUrl
属性用于将网址中的页面链接到名字为 Styles.css 的自定义 CSS 文件。与
AlternateCssUrl 属性关联的链接行为由 SharePoint
CssLink
控件达成,该控件在装有标准 SharePoint 2010母版页的标底部分概念。SharePointCssLink 控件还添加指向名称为CoreV肆.css 的主干 CSS 文件的链接,由此应涵盖在任何面向 SharePoint 2010的自定义母版页中。

即使本文中的品牌化解方案注重使用 AlternateCssUrl 属性链接到自定义
CSS 文件的艺术,但请留心,有些牌子化解方案选拔的是另1种链接到自定义 CSS
文件的形式,固然用
CSSRegistration
控件。例如,您可以将以下CssRegistration
成分添加到自定义母版页的标底部分,以链接到样式库中的 CSS 文件。

XML

<SharePoint:CssRegistration
  name="<% $SPUrl:~sitecollection/Style Library/styles.css %>" 
  After="corev4.css"
  runat="server"
/>

通过 AlternateCssUrl 属性使用
CssRegistration
控件的二个功利是,允许你链接到多少个 CSS
文件。另一个益处是在装有由网站中的某个页面(并非全部)使用的 CSS
文件的情状下,可在各页面中接纳 CssRegistration
控件。但是,使用CssRegistration 控件也有弱点,因为该控件信赖于
$SPUrl 表明式,那须要宿主服务器场运转 SharePoint Server
2010。就算你的品牌解决方案有机遇在只运营 SharePoint Foundation
的劳务器场中选取,您应该会选拔使用AlternateCssUrl 属性链接到自定义
CSS 文件的主意,而不会挑选选取 CssRegistration 控件。

本示例团长应用
SiteLogoUrl
属性,因为该属品质提供神速有效的不二法门来替换页面左上角的网址图像。请留意,与
SiteLogoUrl 属性关联的一言一动由 SharePoint
SiteLogoImage
控件完毕,该控件在标准 SharePoint 20十 母版页(如
v四.master)的标题行部分概念。

UIVersion
属性用于配置当前网址应在 SharePoint 2010 网址的 UI 情势下运作依旧在旧 UI
方式(在将 Office SharePoint Server 2006 网站迁移到 SharePoint 20十时行使)下运作。UIVersion 属性设置重大影响 CssLink
控件是链接到为 SharePoint 20十 创制的名称为 corev四.css 的新规范 CSS
文件依旧链接到专用于 Office SharePoint Server 200柒 中样式页的名为core.css 的旧专业 CSS 文件。本文中的示例将值 4 分配给 UIVersion
属性以担保页面链接到 corev4.css 而不是 core.css。

到近期截止,您已通晓 Branding十1化解方案在出力激活进度中配备当前网址集中每一个网址的第二 SPWeb
属性的不2诀窍以及那样做的来头。本节描述了应在效益禁止使用进度中执行的代码。移除全部自定义品牌因素以将日前网址集重临到原来状态是有须要的。

上边包车型大巴演示是 FeatureDeactivating
方法的兑现,即将有所页面再次回到到利用规范母版页 v四.master 并移除指向自定义
CSS 文件和自定义网址徽标的链接。

C#

public override void FeatureDeactivating(
                       SPFeatureReceiverProperties properties) {
  SPSite siteCollection = properties.Feature.Parent as SPSite;
  if (siteCollection != null) {
    SPWeb topLevelSite = siteCollection.RootWeb;

    // Calculate relative path of site from Web Application root.
    string WebAppRelativePath = topLevelSite.ServerRelativeUrl;
    if (!WebAppRelativePath.EndsWith("/")) {
      WebAppRelativePath += "/";
    }

    // Enumerate through each site and remove custom branding.
    foreach (SPWeb site in siteCollection.AllWebs) {
      site.MasterUrl = WebAppRelativePath + 
                       "_catalogs/masterpage/v4.master";
      site.CustomMasterUrl = WebAppRelativePath + 
                             "_catalogs/masterpage/v4.master";
      site.AlternateCssUrl = "";
      site.SiteLogoUrl = "";
      site.Update();
    }
  }
} 
向品牌子网址添加事件接收器

你应该加上三个品类项来形成 Branding10一项目。您还亟需壹种方法,使得在已激活 Branding拾1作用的网址集中创设子网址时,自动将自定义品牌因素选拔到那么些子网址。为此,您必须在
Windows SharePoint Services 3.0 或 Office SharePoint Server 2007中采用效益装订。可是,SharePoint 20十 扩展了对名字为
WebProvisioned
的新事件的援助,从而将那项工作简化了好多。

在化解方案财富管理器中,右键单击“Branding十一”项目节点,并在“项目”菜单上选用“添加”,再采取“新建项”。在“添加新项”对话框中,新建八个名叫ChildSiteInit 的“事件接收器”项目项。

在创造新的风云接收器项目项时,“SharePoint
自定义向导”将唤起您选取所需的品类。请选用“Web
事件”类型的事件接收器。在对话框后面部分的“处理以下事件”下,选拔“已配备网址”选项。

图 10. SharePoint 自定义向导
XML 11

单击“完毕”后,Visual Studio 2010 中的 SharePoint 开发工具将添加3个名称为
WebProvisioned 的新事件处理程序和贰个 Elements.xml
文件,该公文包涵在近年来网址集中登记此事件处理程序所需的 Receivers
元素。添加此事件的便宜是此事件会在每趟成立新子网址时发出。那使得编写用于将有关
SPWeb
属性从重大网址复制到新子网址的代码变得万分简单。上边演示了所需的代码。

C#

using System;
using Microsoft.SharePoint;

namespace Branding101.ChildSiteInit {

  public class ChildSiteInit : SPWebEventReceiver {
    public override void WebProvisioned(
                           SPWebEventProperties properties) {
      SPWeb childSite = properties.Web;
      SPWeb topSite = childSite.Site.RootWeb;
      childSite.MasterUrl = topSite.MasterUrl;
      childSite.CustomMasterUrl = topSite.CustomMasterUrl;
      childSite.AlternateCssUrl = topSite.AlternateCssUrl;
      childSite.SiteLogoUrl = topSite.SiteLogoUrl;
      childSite.Update();
    }
  }
}
XML,陈设和测试

Branding101项指标付出工作现已做到。为了总结需求完毕的办事,使用八个重点项目项生成
SharePoint 项目:

  1. 在率先个档次项中,您添加了含蓄自定义母版页的“模块”,并将其配置为在母版页样式库中配备此母版页的实例。
  2. 在第二个项目项中,您添加了面向样式库的“模块”,以安插自定义 CSS
    文件和四个图像文件的实例。
  3. 在第陆个品类项中,您添加了带有代码的功能接收器,用于枚举当前网址集中的拥有网址,并计划各个网址的
    SPWeb 属性以链接到自定义母版页和自定义 CSS 文件。
  4. 在终极1个类型项中,您添加了风云接收器,以便利用必需的品牌特色自动开头化新子网址。

今昔,最后项目应生成为图 1一 所示的情势。

图 1一. 缓解方案能源管理器中的最后项目
XML 12

现行反革命应有测试你的行事。在缓解方案能源管理器中,右键单击“Branding101”项目节点,再单击“铺排”。Visual
Studio 20十 会将项目变更到名叫 Branding十一.wsp 的缓解方案包中。Visual
Studio
随后会将品种的出口消除方案包上载到测试网址的化解方案库并激活。计划形成后,您应该能导航到测试网址并承认该网址正在接纳自定义母版页和自定义
CSS 文件。

图 12. 测试网址
XML 13

固然你的开销工作已形成,但设计工作才刚刚开端。今后,您面临的题材是编辑母版页和
CSS 文件以创造美貌的设计。假设您愿意,能够三番四次行使 Visual Studio 20十设计母版页和 CSS 文件。

您在 Visual Studio 20十 中编辑母版页和 CSS
文件时,可以很自在地测试本身的办事。例如,先品尝对 Branding10壹.master
中的 HTML 或 styles.css 中的 CSS
规则做一些小改变。接下来,再度运维“陈设”命令,然后刷新浏览器中的当前页面以查看更改效果。

您还应有思索另1种有价值的规划格局,即将 SharePoint Designer 20拾融入到规划工作中。例如,您能够动用 SharePoint Designer 二〇一〇打开测试网址,然后在高档编辑形式下打开母版页
Branding十1.master。使用此方法最大的功利是 SharePoint Designer 20拾提供了 SharePoint 网址的母版页设计经验,那种体验比 Visual Studio 20第10中学提供的别的工具都好得多。SharePoint Designer 20十 还为 CSS
编辑体验提供了过多便于。

有很关键的一点你供给通晓,SharePoint Designer
不会让您向来编辑母版页的模板(如 Banding拾1.master)或 CSS
文件的沙盘(如 styles.css)。相反,您在 SharePoint Designer 20第10中学劳作时,供给对存储在内容数据库中的已铺排实例举办自定义更改。可是,那不会变成多大标题,因为你只需精通如何从
SharePoint Designer 20十 复制并粘贴到 Visual Studio 20十 即可。

在 SharePoint Designer 二零零六中对母版页举行规划自定义后,您能够只将代码视图中的自定义母版页的始末复制到剪贴板。然后,切换回
Visual Studio 20十 并将剪贴板内容粘贴到 Branding10一.master
的模板文件。您能够运用同样方法从 SharePoint Designer 复制 styles.css
的自定义内容并将其粘贴到 Visual Studio 20十 中的 styles.css 的模版版本。

结论

当今,您真正能一呵而就一矢双穿了。您能够运用 SharePoint Designer 2009的优势来创立美丽的品牌消除方案,也足以将品牌工作打包为三个缓解方案包,该化解方案包可在其余运营SharePoint Foundation 或 SharePoint Server 二〇一〇的服务器场中布置为沙盒消除方案或劳务器场化解方案。

相关文章

网站地图xml地图