SharePoint 2013 代码实现自定义的站点模版创建Site Collection
先需要将自定义的站点模版从网站集转移到Farm中。
找一个自己已经完成配置及设计的网站,在网站设置里面选择另存为模版。要注意的是不是所有的站点类型都有另存为模版的功能。


存完之后可在解决方案库的界面里面看到刚刚保存的模版,点击下载到本地

下载到本地之后用VisualStudio创建项目中的Import Solution Package项目模版创建项目并打开此文件




打开项目中的Feature3,然后将Scope选择为Farm,其他不需要改。

然后发布即可

执行Powershell语句,由于我的模版中有一个自定义的Feature所以还需要部署一个dll所以命令后面加了-GACDeployment

然后就可以在管理中心的解决方案管理里看到上传的解决方案

同时,创建站点集中也可以看见自定义的模版了。

最后代码实现
protected bool CreateSiteCollection()
{
try
{ SPSecurity.RunWithElevatedPrivileges(
delegate
{
// Provide the Web Application URL under which all site collection and sub sites needs to be provisioned
string webApplicationUrl = "http://win-7k7cq3pbmd1"; /* --------------------------------------------------------------------------------------- */
// For Creating HR Site Collection string relativeUrl = "/sites/"+txtSiteTitle.Text;
string siteTitle = txtSiteTitle.Text;
string siteDescription = "WElcome to "+txtSiteTitle.Text+" Site Collection";
uint languageCode = ; // 1033 is the code for english
string siteTemplate = txttemplatename.Text;//"BLANKINTERNET#0";
string primaryAdmin = @"dingweiping\Administrator"; // Domain followed by Network Id/Alias
string secondaryAdmin = @"dingweiping\Administrator"; //Domain followed by Network Id/Alias. If Secondary Admin is not required then assign Null /* --------------------------------------------------------------------------------------- */ SPWebApplication objWebApplication = SPWebApplication.Lookup(new Uri(webApplicationUrl)); using (SPSite mySiteCollection = objWebApplication.Sites.Add(relativeUrl, siteTitle, siteDescription, languageCode, siteTemplate, primaryAdmin, string.Empty, string.Empty, secondaryAdmin, string.Empty, string.Empty))
{
/* --------------------------------------------------------------------------------------- */
// For Creating Benifits Sub Site inside HR Site Collection //string subSiteTitle = "Benifits";
//string subSiteDescription = "Employee Benifits";
//string subSiteRelativeUrl = "/sites/hr/benifits"; // Benifits Sub Site will get added to the HR site collection /* --------------------------------------------------------------------------------------- */ //using (SPWeb web = mySiteCollection.AllWebs.Add(subSiteRelativeUrl, subSiteTitle, subSiteDescription, languageCode, siteTemplate, false, false)) ; }
});
return true;
}
catch (Exception ex)
{
lblstatus.Text = ex.Message;
return false;
}
}
SharePoint 2013 代码实现自定义的站点模版创建Site Collection的更多相关文章
- SharePoint 2013 创建 Site Collection
在之前的文章中,通过SharePoint Central Administration 创建了Web Application.在这篇文章中将继续SharePoint 2013之旅——还是以Step B ...
- SharePoint 2013 为用户组自定义EventReceiver
前 言 在SharePoint的开发中,EventReceiver是很重要的一个部分,但是,常常遇到有些需要事件的时候,却没有相应的模板,因为EventReceiver创建时的模板只有那几个,除此之外 ...
- SharePoint 2013 开发——开发自定义操作APP
博客地址:http://blog.csdn.net/FoxDave 自定义操作即我们所说的Ribbon和ECB(Edit Control Block),在SharePoint 2013之前,我们可以 ...
- SharePoint 2013 代码创建应用程序目录(App Catalog)
众所周知,SharePoint App是2013版本的一大特色,那么,关于App的分发有几种方式呢?SharePoint给我们提供了两种方式,一种是上载到SharePoint应用商店,另一种是在本地S ...
- 跟我学SharePoint 2013视频培训课程——自定义网站导航(4)
课程简介 第4天,自定义SharePoint 网站导航 视频 SharePoint 2013 交流群 41032413
- SharePoint 2013 图文开发系列之Visual Studio 创建母版页
一直以来,对于SharePoint母版页的创建,都是使用SharePoint Designer来创建和修改的,而后接触了SharePoint 2013,发现可以使用Html文件,通过设计管理器导入,然 ...
- 【SharePoint】SharePoint 2013 使用PreSaveAction自定义客户端验证
使用PreSaveAction函数实现客户端自定义验证. 例:[项目编号]为空时,必须填写[责任者]项.(其中[项目编号]为单行文本框,[责任者]为用户/组选择框.) function PreSave ...
- SharePoint 2013 报:网站在改进过程中处于只读状态,对此给您带来的不便,我们深表歉意
SharePoint 2013备份过程意外中断,导致再打开站点报:网站在改进过程中处于只读状态,对此给您带来的不便,我们深表歉意 英文:We apologize for any inconvenien ...
- 查看 SharePoint 2013 部署到GAC的自定义dll
在SharePoint 2007和2010中,自定义dll存放在“C:\Windows\assembly\”文件夹中,在Windows资源管理器中可以看到. 但在Sharepoint 2013中,却无 ...
随机推荐
- 把Storyboard减轻的方法
把Storyboard减轻的方法 by 伍雪颖 UIViewController *secondStoryboard = [[UIStoryboard storyboardWithName:@&quo ...
- 使用JUnit单元测试入门
一.JUnit是什么? JUnit是一个开发源代码的java测试框架,用于编写和运行可重复的测试.它是用于单元测试框架体系xUnit的一个实例(用于java语言).JUnit最初是由Erich Gam ...
- SqlServer判断数据库、表、存储过程、函数是否存在
假设场景是: 需要给一个脚本给客户更新, 这个对象可能存在或不存在 -- 更新存储过程 USE [数据库名] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ...
- Android应用自动更新功能的实现!!!
自动更新功能的实现原理,就是我们事先和后台协商好一个接口,我们在应用的主Activity里,去访问这个接口,如果需要更新,后台会返回一些数据(比如,提示语:最新版本的url等).然后我们给出提示框,用 ...
- JS获取request字符串
function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&] ...
- checkbox,radio,selected相关操作
1.radio:单选框 HTML代码: <input type="radio" name="radio" id="radio1" va ...
- struts1:Struts配置文件初解
struts-config.xml是Struts的核心文件.该文件可配置各种组件,包括,FormBeans,Actions,ActionMappings,全局转发GlobalForwards,数据源D ...
- 给小班讲stl 之 map、sort、优先队列
引子:最近老师让给小班讲课,讲stl,,但是我觉得就小班现在这水平根本讲不懂好不好,,,,
- Linux下MySql出现#1036 – Table ‘ ‘ is read only 错误解决方法
本文为转载内容,感谢原作者.原文出自:http://zhaoxiaoru39.blog.163.com/blog/static/609552192012511104730115/ 我遇到的问题是:在n ...
- 《JavaScript权威指南》读书笔记2
3.6-3.8 这三章主要介绍了JS的包装对象.不可变的原始值和可变的对象引用.JS中的类型转换. 包装对象主要指当原始值需要调用一些方法的时候(原始值本身是不能通过"."来调用的 ...