如何使用 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 搜索返回结果不完整