- Adding/Removing/Updating the presentation details of a page is very easy to implement using a PowerShell script
- First of all you can get the list of pages where you want to add the new rendering using Get-Item and/or Get-ChildItem
- Then for each such page use “Get-Rendering” method to check if the rendering which you want to add is present or not.
- Then add the new rendering using “Add-Rendering” method.
- Please see the example below
-
cd “master:/sitecore”
$db = “master:”
$newRenderingInstance = gi -Path “master:/sitecore/layout/Renderings/MyNewHeaderRendering” | New-Rendering function GetAllPages() {
$homePage = Get-Item -Path ($db + “/Sitecore/Content/Home”) -Language *
$pages = Get-ChildItem -Path ($db + “/Sitecore/Content/Home”) -Recurse -Language *
$pages += $homePage
$pages | ? { $_ -ne $null } `
| % {
AddMyNewHeaderRendering $_
}
} function AddMyNewHeaderRendering ($page){
$renderings = $page | Get-Rendering -ErrorAction SilentlyContinue
if($renderings -ne $null -and $renderings.length -gt 1 -and $newRenderingInstance.Id -notin $renderings.ItemID ){
Add-Rendering -Item $page -Rendering $newRenderingInstance -Index 1 -Placeholder “header”
}
} GetAllPages