在Sitecore中查找重复字段的最佳方法

在Sitecore中查找重复字段的最佳方法,sitecore,Sitecore,我有一些模板,它们定义了相同的字段,如“页面标题”或“页面名称”等,但它们是在不同的部分中定义的 当一个内容项同时使用这两个模板时,它们当然都会在编辑该项时显示在各自的部分中。找到这些事件的最佳方法是什么 我写了一些代码来检查所有模板,递归地查看模板继承,并找到重复的模板,但这已经失控了 查看所有内容项本身以查看所有部分中的所有字段,并查看是否存在重叠,怎么样?这会让我找到我需要去的地方,但我不知道如何在给定Sitecore项目的情况下做到这一点。下面的代码循环遍历所有模板并检查重复的字段键:

我有一些模板,它们定义了相同的字段,如“页面标题”或“页面名称”等,但它们是在不同的部分中定义的

当一个内容项同时使用这两个模板时,它们当然都会在编辑该项时显示在各自的部分中。找到这些事件的最佳方法是什么

我写了一些代码来检查所有模板,递归地查看模板继承,并找到重复的模板,但这已经失控了


查看所有内容项本身以查看所有部分中的所有字段,并查看是否存在重叠,怎么样?这会让我找到我需要去的地方,但我不知道如何在给定Sitecore项目的情况下做到这一点。

下面的代码循环遍历所有模板并检查重复的字段键:

TemplateDictionary dict=TemplateManager.GetTemplates(Database.GetDatabase(“master”); 列表重复项=新列表(); string reportLine=“模板”{0}”:字段“{1}”与模板“{2}”重复; foreach(dict中的KeyValuePair templatePair) { foreach(templatePair.Value.GetFields(true).GroupBy(f=>f.Key).Where(f=>f.Count()>1)中的IGrouping分组) { 添加(String.Format(reportLine,templatePair.Value.FullName,grouping.Key,String.Join(“,”,grouping.Select(g=>g.Template.FullName))); } } 它将以某种格式返回重复字段的列表

template 'System/Analytics/Engagement Automation/Engagement Plan State': field 'description' duplicated from templates 'System/Workflow/State, System/Analytics/Engagement Automation/Designer/Designer Item Parameters'