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



由于某种原因,大量页面的占位符键发生了变化,我需要将其更改回来。问题是我们使用动态占位符,因此占位符键的某些部分是随机 GUID,并且它们位于每个子布局占位符键中

所以我需要

/bacontent/../baproducttabscaffold{6e0244e2-3583-47cb-b575-0bc920186d42}

要成为

/bacontent/../baproducttabscaffold{895ecd6f-4abb-478d-9dad-88e5e05b8c30}

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

我最终做的是使用 Sitecore Powershell 扩展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()
}

最新更新