WSS3SDK之:通过Feature创建一个自定义列表定义

本任务中将演示如何创建一个自定义列表模板的Feature,并将其添加到创建页面中的可供选择的可用列表模板中。添加一个自定义列表定义需要您提供下列3个文件:

  • Feature.xml 用于注册列表模板。

  • Elements.xml 将列表模板添加到创建页面中。

  • Schema.xml 定义了该列表的架构,与哪些内容类型相关联,字段和视图的定义,窗体和工具栏的引用等。

步骤

  1. Local_Drive:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATES\FEATURES 下创建一个文件夹,起个合适的名字,比如SimpleListFeature。

  2. 在新文件夹里创建一个IFeature.xml 文件,指定 title, ID, 和Feature的scope,以及 Elements.xml 文件的位置,如下所示:

    < Feature  Title ="Simple List Feature"  Id ="GUID"  Scope ="Web"  xmlns ="http://schemas.microsoft.com/sharepoint/" >
    < ElementManifests >
    < ElementManifest  Location ="Elements.xml"   />
    </ ElementManifests >
    </ Feature >
  3. 用新创建的GUID替换上面的 GUID 占位符。通过运行 guidgen.exe可以得到一个新的GUID,该命令行工具位于Local_Drive:\Program Files\Microsoft Visual Studio 8\Common7\Tools下。

  4. 在新文件夹里创建一个 Elements.xml 文件来标识列表模板,并指定其显示在创建页面中的信息。 给它指定一个大于10000的Type 值,并且不要与其他自定义列表定义的值相同。

    < Elements >
    < ListTemplate  Name ="SimpleList"  DisplayName ="Simple List"  Type ="10001"
    Description
    ="This is my simple list."  BaseType ="0"  OnQuickLaunch ="FALSE"  SecurityBits ="11"   />
    </ Elements >


  5. 创建一个子文件夹,名称与前面指派给列表模板的名字一样,比如, SimpleList。

  6. 在该子文件夹中新建一个 Schema.xml 文件,定义该列表。

  7. 在命令行中,输入下列命令来安装并在特定子网站上激活该Feature。
    a. stsadm -o installfeature -filename SimpleListFeature\Feature.xml
    b. stsadm -o activatefeature -name SimpleListFeature -url http://Server/Site/Subsite

  8. 通过导航到创建页面来看看效果,可以通过套用该模板创建一个列表。

Schema.xml 文件

在Schema.xml的开头部分定义了列表所需的任何自定义字段,如下面例子中为该列表定义了一个选项类型的字段:

< List  Name ="SimpleList"  Title ="Simple List"  BaseType ="0"  Direction =""  Url ="" >
< MetaData >
< Fields >
< Field  Type ="Choice"  Name ="FavoriteColor"  DisplayName ="Favorite Color" >
< CHOICES >
< CHOICE > Red </ CHOICE >
< CHOICE > Green </ CHOICE >
< CHOICE > Blue </ CHOICE >
</ CHOICES >
</ Field >
</ Fields >
< Views >
< View  BaseViewID ="1"  Type ="HTML"  WebPartZoneID ="Main"
DisplayName
="$Resources:core,objectiv_schema_mwsidcamlidC24;"
DefaultView
="TRUE"  SetupPath ="pages\viewpage.aspx"
ImageUrl
="/_layouts/images/generic.png"  Url ="AllItems.aspx" >

添加该字段的一个引用到ViewFields一节中,以便将该字段显示在列表视图和列表项窗体中。

< ViewFields >
< FieldRef  Name ="DocIcon" />
< FieldRef  Name ="Attachments" />
< FieldRef  Name ="LinkTitle" />
< FieldRef  Name ="FavoriteColor" />
</ ViewFields >

您可以拷贝一个已有列表定义的 Schema.xml 文件,然后在此基础上进行修改。通过这种方法可以快速创建出一个自定义的列表。

你可能感兴趣的:(sdk)