Sitecore

时间:2015-07-29 10:19:26

标签: templates sitecore sitecore7

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

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

  • 标签
  • 图像
  • 下载链接
  • 标题
  • 日期

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

  • 类型
  • 图片
  • 下载文字
  • 标题
  • 日期

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

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

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

如果有人对此有任何疑问,请提供帮助。

2 个答案:

答案 0 :(得分:1)

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

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

您可以从Sitecore Workflow Is Not Working

获取脚本创意

答案 1 :(得分:0)

解决方案是对这些字段进行处理,(使用"基本模板"字段)。

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

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