mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-12-02 19:44:02 +08:00
Adding field name and field type name information to PartFieldDefinitionBuilder to allow field settings to be used and persisted correctly. Naively written code in external modules such as DateTimeField,ImageField drivers
can be updated. Also removed previous workaround. --HG-- branch : 1.x
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user