如何使用 PnP 配置引擎在 SharePoint Online 中配置发布页面?

Posted

技术标签:

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

我正在使用 PnP 配置引擎将一个网站集远程配置到 SharePoint Online 中的另一个网站集,如以下视频所示:https://channel9.msdn.com/blogs/OfficeDe***P/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 模板时,它没有显示发布页面的详细信息,也没有在应用此模板时将任何发布页面配置到目标站点。

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

提前致谢!

【问题讨论】:

【参考方案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>

【讨论】:

感谢亚历克斯的回答。

以上是关于如何使用 PnP 配置引擎在 SharePoint Online 中配置发布页面?的主要内容,如果未能解决你的问题,请参考以下文章

您可以使用 Powershell PnP 设置 SharePoint 网站区域设置和语言吗

Powershell PnP - 在线登录 Sharepoint 并下载文件

SharePoint Online 调用PnP.js 搜索返回结果不完整

SharePoint Online 调用PnP.js 搜索返回结果不完整

SharePoint PnP PowerShell - 从“选择”字段中进行选择

如何在 SharePoint 之外获取/发布 SharePoint 列表/库数据?