2

ページ ライブラリにページを作成できるようにしたい (そして、既に存在するかどうかを確認したい)。

また、カスタム ページ レイアウトを適用して、特定のサイトのホーム ページとして設定できるようにする必要もあります (リボンで可能)。

これら 3 つの手順を PowerShell で実行する必要があります (デプロイ スクリプトを作成しています)。

ありがとう、ダニエル

4

1 に答える 1

4

次のように発行 Web を取得します。

$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("")
}
于 2013-08-22T16:19:33.837 に答える