PublishingWeb.IsInheritingAvailablePageLayouts Property

Gets a Boolean value that indicates whether the available PageLayout objects that are returned by the GetAvailablePageLayoutsmethod are inherited from the parent PublishingWeb() object.

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

Syntax

'Declaration
Public ReadOnly Property IsInheritingAvailablePageLayouts As Boolean
    Get
'Usage
Dim instance As PublishingWeb
Dim value As Boolean

value = instance.IsInheritingAvailablePageLayouts
public bool IsInheritingAvailablePageLayouts { get; }

Property Value

Type: System.Boolean
Set to True if the available PageLayout objects for this PublishingWeb() object are inherited from the parent PublishingWeb(). Otherwise, it is set to False.

Examples

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

[c#]

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)
        {
            // TODO: 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();
        }
    }
}

See Also

Reference

PublishingWeb Class

PublishingWeb Members

Microsoft.SharePoint.Publishing Namespace

IsAllowingAllPageLayouts

GetAvailablePageLayouts

GetAvailablePageLayouts

AllowAllPageLayouts

InheritAvailablePageLayouts

SetAvailablePageLayouts

Update