我想将属于一个模板的项目内容转移到另一个模板中。
例如,我在第一个模板中有5个字段:
和另一个模板中的5个字段:
这两个模板中前两个字段不同,其余3个字段相同。
所以我想将属于第一个模板的项目的内容迁移到第二个模板。此外,我想强调第二个模板是一个新创建的模板,目前没有创建该模板的项目。所以我最终修改了100个项目的模板。
我尝试覆盖sitecore TemplateManager.ChangeTemplate(Item item, TemplateChangeList changes)
的更改模板方法,但它会清空字段而不是我想保留字段数据。
如果有人对此有任何疑问,请提供帮助。
答案 0 :(得分:1)
我认为通过更改模板迁移所有内容不会有太大困难。但是,主要问题是有许多页面项目必须更改为另一个模板。
如果这样做,您可以使用PowerShellExtension。只需1秒钟。
获取脚本创意答案 1 :(得分:0)
解决方案是对这些字段进行处理,(使用"基本模板"字段)。
另一种解决方案是创建自己的更改模板命令。 你可以在这里找到示例代码:http://sitecore.stockpick.nl/nederlands/dialoge-box-in-een-command/(这是一篇荷兰文章)
在代码中使用:item.ChangeTemplate(template);
并使用旧模板中已存储的值填写新字段。