SPWeb.SaveAsTemplate - Méthode

Enregistre le site Web sous la forme d'une solution de modèle de site.

Espace de noms :  Microsoft.SharePoint
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Public Sub SaveAsTemplate ( _
    strTemplateName As String, _
    strTemplateTitle As String, _
    strTemplateDescription As String, _
    fSaveData As Boolean _
)
'Utilisation
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
)

Paramètres

  • strTemplateName
    Type : System.String

    Le nom à utiliser pour le modèle dans le formulaire créer ainsi que le nom de fichier du package de solution (.wsp) qui contient le modèle. Si un package de solution portant le même nom de fichier existe déjà, un suffixe numérique est ajouté au nom lorsque le nom du fichier solution est formé. Par exemple, si vous passez « Test », la méthode tente de créer un fichier modèle nommé « Test.wsp ». Si ce nom n'est pris, il essaie de « Test2.wsp ». Si ce nom est en cours d'utilisation, essayer de « Test3.wsp » et ainsi de suite.

  • strTemplateTitle
    Type : System.String

    Chaîne qui contient le nom complet du modèle de site.

  • strTemplateDescription
    Type : System.String

    Chaîne qui contient la description du modèle de site.

  • fSaveData
    Type : System.Boolean

    true si les données sur le site Web sont enregistrées en tant que partie du modèle de site ; dans le cas contraire, false.

Remarques

La méthode SaveAsTemplate enregistre un site Web sous la forme d'une solution de modèle de site dans la Galerie de solutions. Les utilisateurs peuvent créer des sites Web à partir du modèle en cliquant sur Nouveau Site dans le menu Actions du Site .

En interne, cette méthode appelle la méthode statique SPSolutionExporter.ExportWebToGallery , et cette méthode effectue le travail.

Exemples

L'exemple suivant est une application console qui enregistre le site Web racine dans une collection de sites comme une solution de modèle de site. Après avoir enregistré le modèle, l'exemple obtient une référence à la solution de l'utilisateur qui contient le modèle et imprime des informations sur la solution à la console.

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

Voir aussi

Référence

SPWeb classe

SPWeb - Membres

Microsoft.SharePoint - Espace de noms

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