由于某种原因,大量页面的占位符键已更改,我需要将其更改回来。问题是我们使用动态占位符,因此占位符键的一部分是随机GUID,它们位于每个子布局占位符键中
所以我需要
/bacontent/../baproducttabscaffold{6e0244e2-3583-47cb-b575-0bc920186d42}
是
/bacontent/../baproducttabscaffold{895ecd6f-4abb-478d-9dad-88e5e05b8c30}
改变这些的最有效方法是什么?
答案 0 :(得分:6)
我最终做的是使用Sitecore Powershell Extensions https://marketplace.sitecore.net/en/Modules/Sitecore_PowerShell_console.aspx
我使用的脚本
$pages = gci -Path "master:\my path" -Recurse
$oldGuid = "6e0244e2-3583-47cb-b575-0bc920186d42"
$newGuid = "895ecd6f-4abb-478d-9dad-88e5e05b8c30"
foreach($page in $pages){
$oldRenderings = $page.__Renderings
$newRenderings = $oldRenderings.Replace($oldGuid, $newGuid)
$page.BeginEdit()
$page.__Renderings = $newRenderings
[void]$page.EndEdit()
}