Skip to content
Snippets Groups Projects

Resolve #3455132 "Improve custom field"

2 files
+ 73
1
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -100,7 +100,22 @@ class SchemaDotOrgMappingManager implements SchemaDotOrgMappingManagerInterface
// Apply custom properties defaults.
if (isset($defaults['properties'])) {
foreach ($defaults['properties'] as $property_name => $property) {
foreach ($defaults['properties'] as $property_name => &$property) {
// Check custom properties/fields and set defaults values.
if (!$this->schemaTypeManager->hasProperty($schema_type, $property_name)) {
if (!is_array($property)) {
throw new \Exception(sprintf("Custom '%s' property/field is not defined.", $property_name));
}
$property += [
'type' => 'string',
'name' => strtolower($property_name),
'label' => $property_name,
'description' => '',
'unlimited' => FALSE,
'required' => FALSE,
];
}
if ($property === FALSE) {
// Unset the name to not have the property added.
$mapping_defaults['properties'][$property_name]['name'] = '';
Loading