Sitecore 中从一个模板到另一个模板的内容迁移

Content migration from one template to another in Sitecore

我想将属于一个模板的项目内容转移到另一个模板中。

例如,我在第一个模板中有 5 个字段:

和另一个模板中的 5 个字段:

此处前两个字段在模板中不同,其余 3 个字段相同。

所以我想将属于第一个模板的项目内容迁移到第二个模板。另外,我想强调第二个模板是一个新创建的模板,目前没有创建该模板中的任何项目。所以最终我正在修改 100 项的模板。

我尝试覆盖 sitecore TemplateManager.ChangeTemplate(Item item, TemplateChangeList changes) 的更改模板方法,但它清空了字段,而我想保留字段数据。

如果有人对此有任何想法,请帮助。

一个解决方案是继承这个字段,(使用 "Base template" 字段)。

另一个解决方案是创建您自己的更改模板命令。 您可以在此处找到示例代码:http://sitecore.stockpick.nl/nederlands/dialoge-box-in-een-command/(这是一篇荷兰语文章)

在代码中使用:item.ChangeTemplate(template); 并使用旧模板中已存储的值填写新字段。

我认为通过更改模板迁移所有内容不会有太大困难。但是,主要问题是有许多页面项目必须更改为另一个模板。

如果这样做,您可以使用 PowerShellExtension。只需1秒

您可以从

获取脚本创意