diff --git a/src/Orchard/ContentManagement/MetaData/Builders/ContentPartDefinitionBuilder.cs b/src/Orchard/ContentManagement/MetaData/Builders/ContentPartDefinitionBuilder.cs index c4497e16b..0f874af11 100644 --- a/src/Orchard/ContentManagement/MetaData/Builders/ContentPartDefinitionBuilder.cs +++ b/src/Orchard/ContentManagement/MetaData/Builders/ContentPartDefinitionBuilder.cs @@ -86,6 +86,14 @@ namespace Orchard.ContentManagement.MetaData.Builders { return new ContentPartFieldDefinition(_fieldDefinition, _fieldName, _settings); } + public override string Name { + get { return _fieldName; } + } + + public override string FieldType { + get { return _fieldDefinition.Name; } + } + public override ContentPartFieldDefinitionBuilder OfType(ContentFieldDefinition fieldDefinition) { _fieldDefinition = fieldDefinition; return this; diff --git a/src/Orchard/ContentManagement/MetaData/Builders/ContentPartFieldDefinitionBuilder.cs b/src/Orchard/ContentManagement/MetaData/Builders/ContentPartFieldDefinitionBuilder.cs index e49d18e56..3972c97fe 100644 --- a/src/Orchard/ContentManagement/MetaData/Builders/ContentPartFieldDefinitionBuilder.cs +++ b/src/Orchard/ContentManagement/MetaData/Builders/ContentPartFieldDefinitionBuilder.cs @@ -14,6 +14,9 @@ namespace Orchard.ContentManagement.MetaData.Builders { return this; } + public abstract string Name { get; } + public abstract string FieldType { get; } + public abstract ContentPartFieldDefinitionBuilder OfType(ContentFieldDefinition fieldDefinition); public abstract ContentPartFieldDefinitionBuilder OfType(string fieldType); } diff --git a/src/Orchard/ContentManagement/MetaData/Services/ContentDefinitionWriter.cs b/src/Orchard/ContentManagement/MetaData/Services/ContentDefinitionWriter.cs index df204433c..86800dab9 100644 --- a/src/Orchard/ContentManagement/MetaData/Services/ContentDefinitionWriter.cs +++ b/src/Orchard/ContentManagement/MetaData/Services/ContentDefinitionWriter.cs @@ -26,13 +26,7 @@ namespace Orchard.ContentManagement.MetaData.Services { var partElement = NewElement(partDefinition.Name, partDefinition.Settings); foreach(var partField in partDefinition.Fields) { var attributeName = partField.Name + "." + partField.FieldDefinition.Name; - var fieldSettings = new SettingsDictionary(); - foreach (var partFieldSetting in partField.Settings.Keys) { - if (partFieldSetting.StartsWith(partField.FieldDefinition.Name)) { - fieldSettings.Add(partFieldSetting, partField.Settings[partFieldSetting]); - } - } - var partFieldElement = NewElement(attributeName, fieldSettings); + var partFieldElement = NewElement(attributeName, partField.Settings); partElement.Add(partFieldElement); } return partElement;