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

来源:互联网 发布:串烧制作软件 编辑:程序博客网 时间:2024/06/13 22:47

本任务中将演示如何创建一个自定义列表模板的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 文件,然后在此基础上进行修改。通过这种方法可以快速创建出一个自定义的列表。

原创粉丝点击