SPWebTemplate Class
Represents a site definition configuration or site template that is used to create SharePoint sites.
Inheritance Hierarchy
System.Object
Microsoft.SharePoint.SPWebTemplate
Microsoft.SharePoint.SPCustomWebTemplate
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
<UpgradableAttribute> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public Class SPWebTemplate
Dim instance As SPWebTemplate
[UpgradableAttribute]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public class SPWebTemplate
Remarks
Site definition configurations are contained in files within \\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE, while site templates are stored as .stp files in the SharePoint database.
Use the GetCustomWebTemplates method of the SPSite class to return the collection of site templates created through the user interface or the object model, or use the GetWebTemplates method of the SPSite class to return the collection of site definition configurations in the site collection. After you have a reference to a collection, use an indexer to return a single site definition configuration or site template. For example, if the collection is assigned to a variable named mySiteTemplates, use mySiteTemplates[index] in Microsoft Visual C#, or mySiteTemplates(index) in Microsoft Visual Basic, where index is either the title or the index number in the collection of the site definition configuration or site template.
A site definition, which is a kind of container for one or more site definition configurations, is expressed, in Collaborative Application Markup Language (CAML) markup, by a <Template> element in a WebTemp*.xml file in the directory c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LCID\XML\, where LCID is the numeric ID of your language/culture such as 1033 for English. A site definition configuration is expressed by one of the child <Configuration> elements of the <Template> element. Details of the site definition configuration are stored in one of the <Configuration> elements in the Onet.xml file in the directory c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\SiteTemplates\site_type\XML\, where site_type is "STS," "MPS," "BLOG," "WIKI," "CENTRALADMIN," or the name of a custom site definition.
A site template is defined in a manifest.xml file that is compressed into the .stp file. (An .stp file is a CAB file. You can open it in Windows Explorer if you first change the extension to .cab.)
Note
While an SPWebTemplate can represent either a site definition configuration or a custom site template, an SPCustomWebTemplate always represents a custom site template.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also
Reference
Microsoft.SharePoint Namespace
Other Resources
Collaborative Application Markup Language (CAML)
How to: Create a Custom Site Definition and Configuration