WSS3SDK之:通过Feature创建一个自定义列表定义
本任务中将演示如何创建一个自定义列表模板的Feature,并将其添加到创建页面中的可供选择的可用列表模板中。添加一个自定义列表定义需要您提供下列3个文件:
-
Feature.xml 用于注册列表模板。
-
Elements.xml 将列表模板添加到创建页面中。
-
Schema.xml 定义了该列表的架构,与哪些内容类型相关联,字段和视图的定义,窗体和工具栏的引用等。
步骤
-
在Local_Drive
:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATES\FEATURES
下创建一个文件夹,起个合适的名字,比如SimpleListFeature。 -
在新文件夹里创建一个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> -
用新创建的GUID替换上面的 GUID 占位符。通过运行 guidgen.exe可以得到一个新的GUID,该命令行工具位于Local_Drive
:\Program Files\Microsoft Visual Studio 8\Common7\Tools
下。 -
在新文件夹里创建一个 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>
-
创建一个子文件夹,名称与前面指派给列表模板的名字一样,比如, SimpleList。
-
在该子文件夹中新建一个 Schema.xml 文件,定义该列表。
-
在命令行中,输入下列命令来安装并在特定子网站上激活该Feature。
a. stsadm -o installfeature -filename SimpleListFeature\Feature.xml
b. stsadm -o activatefeature -name SimpleListFeature -url http://Server/Site/Subsite -
通过导航到创建页面来看看效果,可以通过套用该模板创建一个列表。
Schema.xml 文件
在Schema.xml的开头部分定义了列表所需的任何自定义字段,如下面例子中为该列表定义了一个选项类型的字段:
<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一节中,以便将该字段显示在列表视图和列表项窗体中。
<FieldRef Name="DocIcon"/>
<FieldRef Name="Attachments"/>
<FieldRef Name="LinkTitle"/>
<FieldRef Name="FavoriteColor"/>
</ViewFields>
您可以拷贝一个已有列表定义的 Schema.xml 文件,然后在此基础上进行修改。通过这种方法可以快速创建出一个自定义的列表。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!