在Sitecore中,如何更新使用动态占位符的大量占位符设置

Sea*_*ing 1 sitecore

由于某种原因,大量页面的占位符键已更改,我需要将其更改回来.问题是我们使用动态占位符,因此占位符键的一部分是随机GUID,它们位于每个子布局占位符键中

所以我需要

/bacontent/../baproducttabscaffold{6e0244e2-3583-47cb-b575-0bc920186d42}
Run Code Online (Sandbox Code Playgroud)

成为

/bacontent/../baproducttabscaffold{895ecd6f-4abb-478d-9dad-88e5e05b8c30}
Run Code Online (Sandbox Code Playgroud)

改变这些最有效的方法是什么?

Sea*_*ing 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()
}
Run Code Online (Sandbox Code Playgroud)