del método SPWeb.SaveAsTemplate
Guarda el sitio Web como una solución de plantilla de sitio.
Espacio de nombres: Microsoft.SharePoint
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
Public Sub SaveAsTemplate ( _
strTemplateName As String, _
strTemplateTitle As String, _
strTemplateDescription As String, _
fSaveData As Boolean _
)
'Uso
Dim instance As SPWeb
Dim strTemplateName As String
Dim strTemplateTitle As String
Dim strTemplateDescription As String
Dim fSaveData As Boolean
instance.SaveAsTemplate(strTemplateName, _
strTemplateTitle, strTemplateDescription, _
fSaveData)
public void SaveAsTemplate(
string strTemplateName,
string strTemplateTitle,
string strTemplateDescription,
bool fSaveData
)
Parámetros
strTemplateName
Tipo: System.StringEl nombre que se va a usar para la plantilla en el formulario de crear y también para el nombre de archivo del paquete de solución (.wsp) que contiene la plantilla. Si ya existe un paquete de solución con el mismo nombre de archivo, se agrega un sufijo numérico al nombre cuando se haya creado el nombre de archivo de solución. Por ejemplo, si se pasa "Test", el método intenta crear un archivo de plantilla denominado "Test.wsp". Si se toma ese nombre, intenta "Test2.wsp". Si ese nombre está en uso, intenta "Test3.wsp" y así sucesivamente.
strTemplateTitle
Tipo: System.StringUna cadena que contiene el nombre para mostrar de la plantilla de sitio.
strTemplateDescription
Tipo: System.StringUna cadena que contiene la descripción de la plantilla de sitio.
fSaveData
Tipo: System.Booleantrue si se guardan los datos en el sitio Web como parte de la plantilla de sitio; en caso contrario, false.
Comentarios
El método SaveAsTemplate guarda un sitio Web como una solución de plantilla de sitio en la Galería de soluciones. Los usuarios pueden crear nuevos sitios Web de la plantilla, haga clic en Nuevo sitio en el menú Acciones del sitio .
Internamente, este método llama el método estático SPSolutionExporter.ExportWebToGallery y dicho método realiza el trabajo.
Ejemplos
En el siguiente ejemplo es una aplicación de consola que guarda el sitio Web raíz de una colección de sitios como una solución de plantilla de sitio. Después de guardar la plantilla, en el ejemplo se obtiene una referencia a la solución de usuario que contiene la plantilla y se imprime información acerca de la solución en la consola.
using System;
using System.Linq;
using Microsoft.SharePoint;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
using (SPSite site = new SPSite("https://localhost"))
{
using (SPWeb web = site.RootWeb)
{
string templateName = "Test Site";
string templateTitle = "Test Template";
string templateDesc = "This template was saved programmatically.";
web.SaveAsTemplate(templateName, templateTitle, templateDesc, false);
SPUserSolution solution = site
.Solutions
.Cast<SPUserSolution>()
.FirstOrDefault(s => s.Name.StartsWith(templateName));
if (solution != null)
{
Console.WriteLine("Solution name: {0}", solution.Name);
Console.WriteLine("Solution Id: {0}", solution.SolutionId);
Console.WriteLine("Status: {0}", solution.Status);
}
}
}
Console.Write("\nPress ENTER to continue....");
Console.ReadLine();
}
}
}
Imports System
Imports Microsoft.SharePoint
Module ConsoleApp
Sub Main()
Using site As New SPSite("https://localhost")
Using web As SPWeb = site.RootWeb
Dim templateName As String = "Test Site"
Dim templateTitle As String = "Test Template"
Dim templateDesc As String = "This template was saved programmatically."
web.SaveAsTemplate(templateName, templateTitle, templateDesc, False)
Dim solution As SPUserSolution = site.Solutions.Cast(Of SPUserSolution)().FirstOrDefault(Function(s) s.Name.StartsWith(templateName))
If solution IsNot Nothing Then
Console.WriteLine("Solution name: {0}", solution.Name)
Console.WriteLine("Solution Id: {0}", solution.SolutionId)
Console.WriteLine("Status: {0}", solution.Status)
End If
End Using
End Using
Console.Write(vbCrLf & "Press ENTER to continue....")
Console.Read()
End Sub
End Module
Vea también
Referencia
Espacio de nombres Microsoft.SharePoint
ExportWebToGallery(SPWeb, String, String, String, SPSolutionExporter.ExportMode, Boolean)