public FieldList BuildItemFieldList(DbItem fakeItem, ID templateId, Language language, Version version)
{
// build a sequence of templates that the item inherits from
var templates = this.ExpandTemplatesSequence(templateId);
var fields = new FieldList();
foreach (var template in templates)
{
this.AddFieldsFromTemplate(fields, fakeItem, template, language, version);
}
// If the item is a Template item we also need to add the BaseTemplate field
var fakeItemAsTemplate = fakeItem as DbTemplate;
if (fakeItemAsTemplate != null && fakeItemAsTemplate.BaseIDs != null)
{
fields.Add(FieldIDs.BaseTemplate, string.Join("|", fakeItemAsTemplate.BaseIDs.ToList()));
}
return fields;
}