del método PublishingWeb.InheritAvailableWebTemplates
Establece las plantillas web disponibles en esta PublishingWeb se herede de la matriz PublishingWeb.
Espacio de nombres: Microsoft.SharePoint.Publishing
Ensamblado: Microsoft.SharePoint.Publishing (en Microsoft.SharePoint.Publishing.dll)
Sintaxis
'Declaración
Public Sub InheritAvailableWebTemplates
'Uso
Dim instance As PublishingWeb
instance.InheritAvailableWebTemplates()
public void InheritAvailableWebTemplates()
Excepciones
Excepción | Condición |
---|---|
[System.InvalidOperationException] | El sitio raíz no puede heredar propiedades. |
Comentarios
Después de llamar a este método, el método GetAvailableWebTemplates() devuelve el mismo conjunto de plantillas de Web que se especifican en la clase de PublishingWeb primaria. La propiedad IsInheritingAvailableWebTemplates es true. La propiedad IsAllowingAllWebTemplates devuelve el mismo valor que la clase de PublishingWeb primaria.
Llamar a este método en el sitio raíz no se admite y producirá un error.
Ejemplos
Este ejemplo muestra cómo establecer y guardar los valores de propiedad en una publicación Web. Antes de generar y ejecutar este ejemplo, compruebe que se ha habilitado la característica de publicación para el SPWeb, y que el defaultPageFileId es SPFile.UniqueId para la nueva página predeterminada.
using SPContentTypeId = Microsoft.SharePoint.SPContentTypeId;
using SPContentType = Microsoft.SharePoint.SPContentType;
using SPSite = Microsoft.SharePoint.SPSite;
using SPFile = Microsoft.SharePoint.SPFile;
using SPWeb = Microsoft.SharePoint.SPWeb;
using PublishingSite = Microsoft.SharePoint.Publishing.PublishingSite;
using PublishingWeb = Microsoft.SharePoint.Publishing.PublishingWeb;
using PageLayoutCollection = Microsoft.SharePoint.Publishing.PageLayoutCollection;
using PageLayout = Microsoft.SharePoint.Publishing.PageLayout;
namespace Microsoft.SDK.SharePointServer.Samples
{
public static class PublishingWebCodeSamples
{
public static void SetPublishingWebProperties(SPWeb web, System.Guid defaultPageFileId)
{
// Replace these variable values and input parameters
// with your own values.
string newTitle = "your Title"; // new PublishingWeb.Title value
string newDescription = "your Description"; // new PublishingWeb.Description value
bool resetInheritPageLayouts = true; // new PublishingWeb.IsInheritingAvailablePageLayouts value
bool resetInheritWebTemplates = true; // new PublishingWeb.IsInheritingAvailableWebTemplates value
// Validate the input parameters.
if (null == web)
{
throw new System.ArgumentNullException("web");
}
// Get the PublishingWeb wrapper for the SPWeb
// that was passed in.
PublishingWeb publishingWeb = null;
if (PublishingWeb.IsPublishingWeb(web))
{
publishingWeb = PublishingWeb.GetPublishingWeb(web);
}
else
{
throw new System.ArgumentException("The SPWeb must be a PublishingWeb", "web");
}
// Retrieve the SPFile.
SPFile newDefaultPageFile = publishingWeb.Web.GetFile(defaultPageFileId);
if( (null == newDefaultPageFile) ||
!newDefaultPageFile.Exists )
{
throw new System.ArgumentException(
"The Guid does not match an SPFile on the SPWeb",
"defaultPageFileId");
}
// Set new values on the PublishingWeb.
publishingWeb.Title = newTitle;
publishingWeb.Description = newDescription;
publishingWeb.DefaultPage = newDefaultPageFile;
if( resetInheritPageLayouts &&
!publishingWeb.IsInheritingAvailablePageLayouts &&
!publishingWeb.IsRoot)
{
publishingWeb.InheritAvailablePageLayouts();
System.Diagnostics.Debug.Assert(publishingWeb.IsInheritingAvailablePageLayouts);
}
if (resetInheritWebTemplates &&
!publishingWeb.IsInheritingAvailableWebTemplates &&
!publishingWeb.IsRoot)
{
publishingWeb.InheritAvailableWebTemplates();
System.Diagnostics.Debug.Assert(publishingWeb.IsInheritingAvailableWebTemplates);
}
// Save the new values on the PublishingWeb.
publishingWeb.Update();
}
}
}
Imports SPContentTypeId = Microsoft.SharePoint.SPContentTypeId
Imports SPContentType = Microsoft.SharePoint.SPContentType
Imports SPSite = Microsoft.SharePoint.SPSite
Imports SPFile = Microsoft.SharePoint.SPFile
Imports SPWeb = Microsoft.SharePoint.SPWeb
Imports PublishingSite = Microsoft.SharePoint.Publishing.PublishingSite
Imports PublishingWeb = Microsoft.SharePoint.Publishing.PublishingWeb
Imports PageLayoutCollection = Microsoft.SharePoint.Publishing.PageLayoutCollection
Imports PageLayout = Microsoft.SharePoint.Publishing.PageLayout
Namespace Microsoft.SDK.SharePointServer.Samples
Public NotInheritable Class PublishingWebCodeSamples
Private Sub New()
End Sub
Public Shared Sub SetPublishingWebProperties(ByVal web As SPWeb, ByVal defaultPageFileId As System.Guid)
' Replace these variable values and input parameters
' with your own values.
Dim newTitle As String = "your Title" ' new PublishingWeb.Title value
Dim newDescription As String = "your Description" ' new PublishingWeb.Description value
Dim resetInheritPageLayouts As Boolean = True ' new PublishingWeb.IsInheritingAvailablePageLayouts value
Dim resetInheritWebTemplates As Boolean = True ' new PublishingWeb.IsInheritingAvailableWebTemplates value
' Validate the input parameters.
If Nothing Is web Then
Throw New System.ArgumentNullException("web")
End If
' Get the PublishingWeb wrapper for the SPWeb
' that was passed in.
Dim publishingWeb As PublishingWeb = Nothing
If PublishingWeb.IsPublishingWeb(web) Then
publishingWeb = PublishingWeb.GetPublishingWeb(web)
Else
Throw New System.ArgumentException("The SPWeb must be a PublishingWeb", "web")
End If
' Retrieve the SPFile.
Dim newDefaultPageFile As SPFile = publishingWeb.Web.GetFile(defaultPageFileId)
If (Nothing Is newDefaultPageFile) OrElse (Not newDefaultPageFile.Exists) Then
Throw New System.ArgumentException("The Guid does not match an SPFile on the SPWeb", "defaultPageFileId")
End If
' Set new values on the PublishingWeb.
publishingWeb.Title = newTitle
publishingWeb.Description = newDescription
publishingWeb.DefaultPage = newDefaultPageFile
If resetInheritPageLayouts AndAlso (Not publishingWeb.IsInheritingAvailablePageLayouts) AndAlso (Not publishingWeb.IsRoot) Then
publishingWeb.InheritAvailablePageLayouts()
System.Diagnostics.Debug.Assert(publishingWeb.IsInheritingAvailablePageLayouts)
End If
If resetInheritWebTemplates AndAlso (Not publishingWeb.IsInheritingAvailableWebTemplates) AndAlso (Not publishingWeb.IsRoot) Then
publishingWeb.InheritAvailableWebTemplates()
System.Diagnostics.Debug.Assert(publishingWeb.IsInheritingAvailableWebTemplates)
End If
' Save the new values on the PublishingWeb.
publishingWeb.Update()
End Sub
End Class
End Namespace
Vea también
Referencia
Espacio de nombres Microsoft.SharePoint.Publishing
GetAvailableCrossLanguageWebTemplates
InheritAvailableWebTemplates