Compartir a través de


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.String

    El 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.String

    Una cadena que contiene el nombre para mostrar de la plantilla de sitio.

  • strTemplateDescription
    Tipo: System.String

    Una cadena que contiene la descripción de la plantilla de sitio.

  • fSaveData
    Tipo: System.Boolean

    true 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

clase SPWeb

Miembros SPWeb

Espacio de nombres Microsoft.SharePoint

ExportWebToGallery(SPWeb, String, String, String, SPSolutionExporter.ExportMode, Boolean)