快捷搜索:

【Sharepoint教程—Site Definition】6、基于一个已经部

前面我们创建List Instance与List Template时,它们都在一个Soltuion中,假如我们开拓小组的其它成员已经开拓并支配了某些List Template,而现在我们必要在我们新的Solution中应用那些已经开拓好的List Template来创建我们的List Instance,那么该若何操作呢?这里就以我们前面创建的那个自定义List Defintion中的List Template为例来新创建一个List Instance。

首先应用VS2010创建一个空的Sharepoin Project(Farm模式)

在新项目中添加一个空的Element

新建项目如下图:

在Elements.xml中输入代码如下:

xml version="1.0" encoding="utf-8"?>

Elements xmlns="http://schemas.microsoft.com/sharepoint/">ListInstance Title="MyPicListFromTemplate"

FeatureId="f4ea6583-56a3-4328-90b2-c3b4a62afad4"TemplateType="10006"

Id="MyPicCustomList"Description="The List Instance From List Template."

Url="Lists/MyPicCustomList"OnQuickLaunch="true"

RootWebOnly="false" /> Elements>

这个ListIntance便是我们基于已经存在的List Template来创建的,在它的定义中,关键的有两个属性。

FeatureId:这个属性有人会搞混,觉得它便是我们前面所支配的List Definition所在的那个Feature的ID,着实并不是。这个FeatureID是我们支配后,系统给我们的那个自定义的List Template的ID.

Templatetype:这个属性要与我们自定义Content Type的Type值同等。这个属性值我们在前面的文章中已经描述过。

那么你可能就要问了,我若何知道FeatureID值与Templatetype值呢,措施便是应用我们的ServerExplorer,在VS2010中打开ServerExplorer,找到我们必要应用的List Template,查看它的属性,在属性描述里我们就可以找到我们必要应用的属性值了。

项目操作示意如下图:

Build并支配后,就可以看到我们创建的这个List的实例了。

当然,除了应用用户自定义的List Template,我们还可以应用系统创建好的List Template来创建我们的List Instance。

下面这张表便是系统中有效的List Template以及它们的TemplateId和 FeatureId

Type of list

TemplateId

FeatureId

Generic List

100

00BFEA71-DE22-43B2-A848-C05709900100

Document Library

101

00BFEA71-E717-4E80-AA17-D0C71B360101

Survey

102

00BFEA71-EB8A-40B1-80C7-506BE7590102

Links List

103

00BFEA71-2062-426C-90BF-714C59600103

Announcements List

104

00BFEA71-D1CE-42de-9C63-A44004CE0104

Contacts List

105

00BFEA71-7E6D-4186-9BA8-C047AC750105

Events List

106

00BFEA71-EC85-4903-972D-EBE475780106

Tasks List

107

00BFEA71-A83E-497E-9BA0-7A5C597D0107

Discussion List

108

00BFEA71-6A49-43FA-B535-D15C05500108

Picture Library

109

00BFEA71-52D4-45B3-B544-B1C71B620109

Data Sources

110

00BFEA71-F381-423D-B9D1-DA7A54C50110

Site template gallery

111

User Information List

112

Web Part gallery

113

List Template gallery

114

XML Form Library

115

00BFEA71-1E1D-4562-B56A-F05371BB0115

Master Pages gallery

116

No-Code Workflows

117

00BFEA71-F600-43F6-A895-40C0DE7B0117

Custom Workflow Process

118

00BFEA71-2D77-4A75-9FCA-76516689E21A

Wiki Page Library

119

00BFEA71-C796-4402-9F2F-0EB9A6E71B18

Grid List

120

00BFEA71-3A1D-41D3-A0EE-651D11570120

Data Connection Library

130

00BFEA71-DBD7-4F72-B8CB-DA7AC0440130

Workflow History

140

00BFEA71-4EA5-48D4-A4AD-305CF7030140

Gantt Task List

150

00BFEA71-513D-4CA0-96C2-6A47775C0119

Meeting Series List

200

Meeting Agenda List

201

Meeting Attendees List

202

Meeting Decision List

204

Meeting Objectives List

207

Meeting Things to Bring List

211

Meeting Workspace Pages List

212

Blog Posts List

301

Blog Comments List

302

Blog Categories List

303

Status Indicator (KPI) List

432

7ED6CD55-B479-4EB7-A529-E99A24C10BD3

Report Library

433

6E53DD27-98F2-4AE5-85A0-E9A8EF4AA6DF

Publishing Pages Library

850

Issue Tracking List

1100

00BFEA71-5932-4F9C-AD71-1557E5751100

Administrator Tasks List

1200

Translation Management Library

1300

29D85C25-170C-4df9-A641-12DB0B9D4130

Translation List

1301

29D85C25-170C-4df9-A641-12DB0B9D4130

Slide Library

2100

0BE49FE9-9BC9-409d-ABF9-702753BD878D

以Generic List Template 为例来创建 List Instance,只必要在上面项目中的Elements.xml中加入下面的定义即可:

ListInstance Title="MyGenericListFromTemplate"

FeatureId="00BFEA71-DE22-43B2-A848-C05709900100"TemplateType="100"

Id="MyGenericCustomList"Description="The List Instance From Generic List Template."

Url="Lists/MyGenericCustomList"OnQuickLaunch="true"

RootWebOnly="false" />

您可能还会对下面的文章感兴趣: