我希望能够在Pages Library中创建一个页面(并检查它是否已经存在)。
我还需要能够为其应用自定义页面布局,然后将其设置为给定网站的主页(就像在功能区中一样)。
我需要使用PowerShell完成这三个步骤(我正在编写部署脚本)。
谢谢, 丹尼尔
答案 0 :(得分:4)
像这样获取您的发布网:
$SPWeb = Get-SPWeb $websiteUrl -AssignmentCollection $spAssignment
$pweb = [Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($SPWeb)
获取页面列表:
$pages = $pweb.GetPublishingPages($pweb)
get a page layout:
$ctype = $psite.ContentTypes["Your Page Layout Content Type"]
$pageLayouts = $psite.GetPageLayouts($ctype, $true)
$pageLayouts | ForEach-Object {
if ($_.Title -eq "Your Page Layout Title")
{
$layout = $_;
}
}
查找您喜欢的页面
$pages | ForEach-Object {
if($_.Name -eq "default.aspx")
{
$page = $_;
}
}
以这种方式更新布局
if ($page -ne $null)
{
$page.CheckOut()
$page.Layout = $layout;
$page.Update();
}
根据像这样的布局创建页面
$page = $pages.Add("new.aspx", $layout)
$page.Title = "New Title";
$page.Update();
根据需要更新其他字段
$item = $page.ListItem
if ($pg.PageContent -ne "")
{
$item["Title"] = "Your Title";
$item["Page Content"] = "Your content";
$item.Update()
}
登记入住&发布您的页面。
if ($page -ne $null)
{
$item.File.CheckIn("")
$item.File.Publish("")
$item.File.Approve("")
}