Export (0) Print
Expand All

PublishingWeb.GetPublishingWeb method

Retrieves an instance of the PublishingWeb that wraps the specified SPWeb object.

Namespace:  Microsoft.SharePoint.Publishing
Assembly:  Microsoft.SharePoint.Publishing (in Microsoft.SharePoint.Publishing.dll)

'Declaration
PublicSharedFunctionGetPublishingWeb ( _
	webAsSPWeb _
) AsPublishingWeb
'Usage
DimwebAsSPWebDimreturnValueAsPublishingWebreturnValue = PublishingWeb.GetPublishingWeb(web)

Parameters

web
Type: Microsoft.SharePoint.SPWeb

The SPWeb object to wrap in a PublishingWeb instance.

Return value

Type: Microsoft.SharePoint.Publishing.PublishingWeb
A PublishingWeb instance which wraps the SPWeb class.

Use this method in order to access PublishingWeb behavior for an instance of a SPWeb class that has already been retrieved. You can also retrieve instances of the PublishingWeb class through the GetPublishingWebs method.

Before you use this method, check the IsPublishingWeb method to confirm that publishing behavior is supported on this instance of the SPWeb class. If publishing is not supported on the SPWeb, then the methods and properties of the PublishingWeb wrapper may behave unexpectedly.

It is up to the caller of this method to close the instance of the SPWeb class that was passed in by calling the SPWeb.Close method. Calling the PublishingWeb.Close method has no effect.

This example demonstrates setting and saving property values on a publishing Web. Before building and running this example, verify that Publishing feature has been enabled for the SPWeb, and that the defaultPageFileId is SPFile.UniqueId for the new default page.

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

Community Additions

ADD
Show:
© 2014 Microsoft