SharePoint 2013 图文开发系列之定义站点模板
2015-02-16 11:36
302 查看
原文:SharePoint 2013 图文开发系列之定义站点模板 SharePoint站点模板是一个非常好的功能,方便我们开发一类网站,然后在此基础上做二次开发,对于SharePoint的使用,有着举足轻重的作用。
因为篇幅比较长,所以加上目录,方便大家查看:
一、为站点模板添加母版页
二、为站点模板添加自定义列表
三、为站点模板添加可视化WebPart
1、添加新项目,选择SharePoint 2013 空项目,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211749-f0fb0e5a6fef429e8eb8323a3a720483.png)
2、选择调试站点,部署为场解决方案,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211750-34a2bd14e6f34c608e261ab3bf409b06.png)
3、添加新项,选择网站定义,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211751-2a23dbd3a88f478ea90e0c69705310b8.png)
4、查看onet.xml,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211753-6475caced2164168aa1ce58dd72fa9b0.png)
5、查看webtemp_CustomSiteDefinition.xml,Name要和步骤4 Name一致,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211754-7797d3b581b94815b8f7aed617416beb.png)
6、Xml简介,如下表格:
如上面表格,ID一般要大于10000,我这里选择10005了,小于10000可能导致创建报错;Title为模板名称,Hidden为是否隐藏,DisplayCategory为模板分类。
如上面表格,这个可以说是站点的xml文件,包括定义的列表、Feature、字段等等,都需要在这里面声明。
7、部署站点模板,然后创建,可以看到分类、模板名称、描述等属性,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211755-25d7e7a154ce4f60938769ff5ea4a009.png)
8、打开根据模板创建的站点,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211756-795a954baff5479a93c82441826348b4.png)
9、查看站点内容,什么应用程序都没有,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211757-44aef914360a497583e733a02b8f0a7e.png)
说 明
以上,是站点模板的创建过程,下面,我们还要为站点模板丰富功能,因为不可能仅仅一个站点模板,就足够我们使用了。
****************************这是华丽丽的分隔符********************************
为站点模板添加母版页[返回顶部]
10、添加新项,选择模块,命名为”MasterPageModule”,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211758-6c31d3963ef74fbfbe1f62a69bc0de54.png)
11、修改MasterPageModule的Feature文件,方便以后识别,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211759-2c310007d8814be187791ff5c2d22cb6.png)
11、添加文件夹结构,并创建母版页,我在body里面加背景色蓝色,方便以后识别是否引用的是这个母版页,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211801-a2c925c9944c4436912aaf81e4d1b978.png)
12、修改MasterPageModule的Xml文件,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211803-6592de72530946e39b98cb839577a3b5.png)
13、修改default.aspx页面引用的母版页,改为custom.master,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211804-7a37eda8f4c34490b9e44f9af2297477.png)
14、修改onet.xml文件,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211806-8312d47dff784ddcbc39420b90e87e5e.png)
15、刷新首页,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211807-90aa85be9b4b4a2584eda508d4f1cdf9.png)
背景蓝色,说明已经引用我们创建的母版页了,设置成功!
****************************这是华丽丽的分隔符********************************
为站点模板添加自定义列表[返回顶部]
16、添加新项,选择列表,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211808-4b4e0bf9d5f14c7e99bcf829759689d6.png)
17、填写列表名称,选择模板,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211810-9843668a28fe4e3d9c757a14c071b9ab.png)
18、在母版页的Feature里,移除列表定义的Feature,我们单独为列表添加Feature:
![](http://images.cnitblog.com/blog/256729/201312/08211811-04cce553f991405f8ec53d1c15480627.png)
19、添加并修改列表定义的Feature,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211812-0b7d4b7283e340b685e8125bd76e3da0.png)
20、为我的列表定义添加栏(建议先英文,后改为中文,防止内部字段编码),如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211813-3d3680ea1184447ba5efbfd320af5ef6.png)
21、下面我们修改视图,当然也可以定义一个新的,这里我懒了,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211814-0598d4bff0ad42a696cdb7aa3ae309da.png)
22、列表属性,我们修改一下相对Url(中文看着别扭),其他看你的心情了,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211815-d53b43b1a3104f63802e9f6b6d970b40.png)
23、因为有一个字段,类型是选项,没有设置选项的内容和默认值,我们修改下:
![](http://images.cnitblog.com/blog/256729/201312/08211816-85237280c8414f7ead06c07e9f6a1443.png)
24、修改自定义站点的onet.xml文件,添加如下(自定义列表Feature的Guid),如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211818-0775de74ff474370b542fb424ee7aebf.png)
25、根据站点模板,新建网站,发现创建好就自带我们定义的列表,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211819-fcbf19e0c70941efa8dac63e9113319e.png)
26、查看列表,视图里有我们创建的几个栏,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211820-17372169fffa4cf0a39075d28e5713c7.png)
27、新建项目,选项类型也是正确的,我很欣慰,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211821-f93b0925cafc446dad47ba0c4eeae4f3.png)
如上所示,就是为站点定义添加自定义列表的过程,其实就是添加一个列表定义,然后在站点模板的onet.xml文件里,添加一个Feature节点。
****************************这是华丽丽的分隔符********************************
为站点模板添加可视化WebPart[返回顶部]
28、添加新项,选择可视化web部件,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211821-19c513b4ab654438ab53098d0aa5aca6.png)
29、在可视化webpart前台文件上添加控件,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211823-702810570c5a4b1e8dfa2aee8047e301.png)
30、在可视化webpart后台文件上,添加方法代码,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211824-5f5b47598246480abfc5e7ff122172ac.png)
31、在Default.aspx页面上添加用户控件的引用,并添加webpartzone和webpart:
Assembly="$SharePoint.Project.AssemblyFullName$"
![](http://images.cnitblog.com/blog/256729/201312/08211826-a3d2d8cd46574204937aedea96ab7c07.png)
32、部署解决方案,打开首页,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211826-3ccdfe2fb86342d7a92ceeda6e061572.png)
33、输入Url,点击显示图片,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211830-379d3236140241478ddde39c1238e9f1.png)
总 结
以上,就是站点模板使用的简单介绍,这里,我只为站点模板添加了母版页、列表可视化WebPart,其实还可以添加网站栏、事件接收器等其他模块,有兴趣的可以尝试一下。
参考链接
http://msdn.microsoft.com/en-us/library/ms454677(v=office.14).aspx
http://msdn.microsoft.com/en-us/library/ms447717(v=office.14).aspx
http://msdn.microsoft.com/en-us/library/ms474369(v=office.14).aspx
因为篇幅比较长,所以加上目录,方便大家查看:
一、为站点模板添加母版页
二、为站点模板添加自定义列表
三、为站点模板添加可视化WebPart
1、添加新项目,选择SharePoint 2013 空项目,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211749-f0fb0e5a6fef429e8eb8323a3a720483.png)
2、选择调试站点,部署为场解决方案,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211750-34a2bd14e6f34c608e261ab3bf409b06.png)
3、添加新项,选择网站定义,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211751-2a23dbd3a88f478ea90e0c69705310b8.png)
4、查看onet.xml,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211753-6475caced2164168aa1ce58dd72fa9b0.png)
5、查看webtemp_CustomSiteDefinition.xml,Name要和步骤4 Name一致,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211754-7797d3b581b94815b8f7aed617416beb.png)
6、Xml简介,如下表格:
<?xml version="1.0" encoding="utf-8"?> <Templates xmlns:ows="Microsoft SharePoint"> <Template Name="CustomSiteDefinition" ID="10005"> <Configuration ID="0" Title="自定义站点" Hidden="FALSE" ImageUrl="/_layouts/images/CPVW.gif" Description="这是我的测试自定义站点" DisplayCategory="SP自定义"> </Configuration> </Template> </Templates>
如上面表格,ID一般要大于10000,我这里选择10005了,小于10000可能导致创建报错;Title为模板名称,Hidden为是否隐藏,DisplayCategory为模板分类。
<?xml version="1.0" encoding="utf-8"?> <Project Title="CustomSiteDefinition" Revision="2" ListDir="" xmlns:ows="Microsoft SharePoint" xmlns="http://schemas.microsoft.com/sharepoint/"> <NavBars> </NavBars> <Configurations> <Configuration ID="0" Name="CustomSiteDefinition"> <Lists/> <SiteFeatures> </SiteFeatures> <WebFeatures> </WebFeatures> <Modules> <Module Name="DefaultBlank" /> </Modules> </Configuration> </Configurations> <Modules> <Module Name="DefaultBlank" Url="" Path=""> <File Url="default.aspx"> </File> </Module> </Modules> </Project>
如上面表格,这个可以说是站点的xml文件,包括定义的列表、Feature、字段等等,都需要在这里面声明。
7、部署站点模板,然后创建,可以看到分类、模板名称、描述等属性,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211755-25d7e7a154ce4f60938769ff5ea4a009.png)
8、打开根据模板创建的站点,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211756-795a954baff5479a93c82441826348b4.png)
9、查看站点内容,什么应用程序都没有,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211757-44aef914360a497583e733a02b8f0a7e.png)
说 明
以上,是站点模板的创建过程,下面,我们还要为站点模板丰富功能,因为不可能仅仅一个站点模板,就足够我们使用了。
****************************这是华丽丽的分隔符********************************
为站点模板添加母版页[返回顶部]
10、添加新项,选择模块,命名为”MasterPageModule”,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211758-6c31d3963ef74fbfbe1f62a69bc0de54.png)
11、修改MasterPageModule的Feature文件,方便以后识别,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211759-2c310007d8814be187791ff5c2d22cb6.png)
11、添加文件夹结构,并创建母版页,我在body里面加背景色蓝色,方便以后识别是否引用的是这个母版页,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211801-a2c925c9944c4436912aaf81e4d1b978.png)
12、修改MasterPageModule的Xml文件,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211803-6592de72530946e39b98cb839577a3b5.png)
13、修改default.aspx页面引用的母版页,改为custom.master,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211804-7a37eda8f4c34490b9e44f9af2297477.png)
14、修改onet.xml文件,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211806-8312d47dff784ddcbc39420b90e87e5e.png)
15、刷新首页,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211807-90aa85be9b4b4a2584eda508d4f1cdf9.png)
背景蓝色,说明已经引用我们创建的母版页了,设置成功!
****************************这是华丽丽的分隔符********************************
为站点模板添加自定义列表[返回顶部]
16、添加新项,选择列表,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211808-4b4e0bf9d5f14c7e99bcf829759689d6.png)
17、填写列表名称,选择模板,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211810-9843668a28fe4e3d9c757a14c071b9ab.png)
18、在母版页的Feature里,移除列表定义的Feature,我们单独为列表添加Feature:
![](http://images.cnitblog.com/blog/256729/201312/08211811-04cce553f991405f8ec53d1c15480627.png)
19、添加并修改列表定义的Feature,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211812-0b7d4b7283e340b685e8125bd76e3da0.png)
20、为我的列表定义添加栏(建议先英文,后改为中文,防止内部字段编码),如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211813-3d3680ea1184447ba5efbfd320af5ef6.png)
21、下面我们修改视图,当然也可以定义一个新的,这里我懒了,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211814-0598d4bff0ad42a696cdb7aa3ae309da.png)
22、列表属性,我们修改一下相对Url(中文看着别扭),其他看你的心情了,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211815-d53b43b1a3104f63802e9f6b6d970b40.png)
23、因为有一个字段,类型是选项,没有设置选项的内容和默认值,我们修改下:
![](http://images.cnitblog.com/blog/256729/201312/08211816-85237280c8414f7ead06c07e9f6a1443.png)
24、修改自定义站点的onet.xml文件,添加如下(自定义列表Feature的Guid),如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211818-0775de74ff474370b542fb424ee7aebf.png)
25、根据站点模板,新建网站,发现创建好就自带我们定义的列表,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211819-fcbf19e0c70941efa8dac63e9113319e.png)
26、查看列表,视图里有我们创建的几个栏,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211820-17372169fffa4cf0a39075d28e5713c7.png)
27、新建项目,选项类型也是正确的,我很欣慰,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211821-f93b0925cafc446dad47ba0c4eeae4f3.png)
如上所示,就是为站点定义添加自定义列表的过程,其实就是添加一个列表定义,然后在站点模板的onet.xml文件里,添加一个Feature节点。
****************************这是华丽丽的分隔符********************************
为站点模板添加可视化WebPart[返回顶部]
28、添加新项,选择可视化web部件,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211821-19c513b4ab654438ab53098d0aa5aca6.png)
29、在可视化webpart前台文件上添加控件,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211823-702810570c5a4b1e8dfa2aee8047e301.png)
30、在可视化webpart后台文件上,添加方法代码,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211824-5f5b47598246480abfc5e7ff122172ac.png)
31、在Default.aspx页面上添加用户控件的引用,并添加webpartzone和webpart:
Assembly="$SharePoint.Project.AssemblyFullName$"
![](http://images.cnitblog.com/blog/256729/201312/08211826-a3d2d8cd46574204937aedea96ab7c07.png)
32、部署解决方案,打开首页,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211826-3ccdfe2fb86342d7a92ceeda6e061572.png)
33、输入Url,点击显示图片,如下图:
![](http://images.cnitblog.com/blog/256729/201312/08211830-379d3236140241478ddde39c1238e9f1.png)
总 结
以上,就是站点模板使用的简单介绍,这里,我只为站点模板添加了母版页、列表可视化WebPart,其实还可以添加网站栏、事件接收器等其他模块,有兴趣的可以尝试一下。
参考链接
http://msdn.microsoft.com/en-us/library/ms454677(v=office.14).aspx
http://msdn.microsoft.com/en-us/library/ms447717(v=office.14).aspx
http://msdn.microsoft.com/en-us/library/ms474369(v=office.14).aspx
相关文章推荐
- SharePoint 2013 图文开发系列之定义站点模板
- SharePoint 2013 图文开发系列之定义站点模板
- SharePoint 2013 图文开发系列之定义站点模板
- SharePoint 2013 图文开发系列之代码定义列表
- SharePoint 2013 图文开发系列之列表定义高级篇
- SharePoint 2013 图文开发系列之列表定义高级篇
- SharePoint 2013 图文开发系列之代码定义列表
- SharePoint 2013 图文开发系列之代码定义列表
- SharePoint 2013 图文开发系列之代码定义列表
- SharePoint 2013 图文开发系列之事件接收器
- SharePoint 2013 图文开发系列之Visual Studio 创建母版页
- SharePoint 2013 图文开发系列之Visual Studio 创建母版页
- SharePoint 2013 图文开发系列之计时器任务
- SharePoint 2013 图文开发系列之网站栏
- SharePoint 2013 图文开发系列之可视化WebPart
- SharePoint 2013 图文开发系列之可视化WebPart
- SharePoint 2013 图文开发系列之网站栏
- SharePoint 2013 图文开发系列之自定义字段
- SharePoint 2013 图文开发系列之Visual Studio 创建母版页
- SharePoint 2013 图文开发系列之创建内容类型