Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

PublishingWeb.IsPublishingWeb method

Checks the SPWeb object to verify whether it is a PublishingWeb object.

Namespace:  Microsoft.SharePoint.Publishing
Assembly:  Microsoft.SharePoint.Publishing (in Microsoft.SharePoint.Publishing.dll)
public static bool IsPublishingWeb(
	SPWeb web
)

Parameters

web
Type: Microsoft.SharePoint.SPWeb

The SPWeb object to be validated.

Return value

Type: System.Boolean
true if the SPWeb class supports being wrapped in a PublishingWeb instance; otherwise, false.
ExceptionCondition
[System.ArgumentNullException]

The SPWeb cannot be null.

This method checks the SPWeb instance to determine if the Publishing feature has been activated on it.

We recommend that you use this method before you call the [T:Microsoft.SharePoint.Publishing.PublishingWeb.GetPublishingWeb(Microsoft.SharePoint.SPWeb)] method.

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.

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();
        }
    }
}
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2014 Microsoft. All rights reserved.