【问题标题】:How to provision Publishing Pages in SharePoint Online using PnP Provisioning Engine?如何使用 PnP 配置引擎在 SharePoint Online 中配置发布页面?
【发布时间】:2016-06-15 03:03:43
【问题描述】:

我正在使用 PnP 配置引擎将一个网站集远程配置到 SharePoint Online 中的另一个网站集,如以下视频所示:https://channel9.msdn.com/blogs/OfficeDevPnP/Introduction-to-PnP-site-remote-provisioning-engine

它适用于其余的东西,但它没有配置发布页面。我创建配置模板的代码如下:

private static void GetProvisioningTemplate(ConsoleColor defaultForeground, string webUrl, string userName, SecureString password)
{
    using (var context = new ClientContext(webUrl))
    {
        context.Credentials = new SharePointOnlineCredentials(userName, password);
        Web web = context.Web;
        context.Load(web, w => w.Title);
        context.ExecuteQueryRetry();

        Console.ForegroundColor = ConsoleColor.White;
        Console.WriteLine("Your Site Title is: " + context.Web.Title);
        Console.ForegroundColor = defaultForeground;

        ProvisioningTemplateCreationInformation ptci = new ProvisioningTemplateCreationInformation(web);

        ptci.FileConnector = new FileSystemConnector(String.Format(@"{0}\..\..\", AppDomain.CurrentDomain.BaseDirectory), "");

        ptci.PersistBrandingFiles = true;
        ptci.PersistPublishingFiles = true;
        ptci.IncludeNativePublishingFiles = true;

        ptci.ProgressDelegate = delegate(String message, Int32 progress, Int32 total)
        {
            Console.WriteLine("{0:00}/{1:00} - {2}", progress, total, message);
        };

        ProvisioningTemplate template = web.GetProvisioningTemplate(ptci);

        XMLTemplateProvider provider = new XMLFileSystemTemplateProvider(String.Format(@"{0}\..\..\", AppDomain.CurrentDomain.BaseDirectory), "");
        provider.SaveAs(template, "PnPProvisioningDemo.xml");
    }
}

当我检查 XML 模板时,它没有显示发布页面的详细信息,也没有在应用此模板时将任何发布页面配置到目标站点。

因此,任何关于使用此引擎配置发布页面的建议。

提前致谢!

【问题讨论】:

    标签: sharepoint office365 csom sharepoint-online


    【解决方案1】:

    我了解到配置引擎不支持发布页面。

    来源:https://techcommunity.microsoft.com/t5/SharePoint-Developer/PnP-Provisioning-Engine-template-support-for-publishing-pages/td-p/46465 来自 2017 年 2 月 16 日。

    但您可以使用 pnp:File 添加发布页面

    <pnp:File src="mypublishingpage.aspx" Folder="{site}/Pages" Overwrite="true">
        <pnp:Properties>
            <pnp:Property Key="ContentTypeId" Value="{contenttypeid:MyPageContentType}" />
            <pnp:Property Key="Title" Value="My Publishing Page" />
            <pnp:Property Key="PublishingPageLayout" Value="{sitecollection}/_catalogs/masterpage/MyPageLayout.aspx,  My Page Layout" />            
        </pnp:Properties>
    </pnp:File>
    

    【讨论】:

    • 感谢亚历克斯的回答。
    猜你喜欢
    • 2018-03-05
    • 2020-02-15
    • 1970-01-01
    • 2016-07-19
    • 2017-09-25
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多