diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/MapItem.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/MapItem.php index 26cdc41c60616719c92c9ce6ed78eb8e0f88d73c..4645b833a7b0519ddf90b3afc5ae27fd89d97243 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/MapItem.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/MapItem.php @@ -27,10 +27,8 @@ class MapItem extends FieldItemBase { * {@inheritdoc} */ public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) { - $properties['value'] = DataDefinition::create('string') - ->setLabel(t('Serialized values')); - - return $properties; + // The properties are dynamic and can not be defined statically. + return array(); } /** @@ -48,6 +46,15 @@ public static function schema(FieldStorageDefinitionInterface $field_definition) ); } + /** + * {@inheritdoc} + */ + public function toArray() { + // The default implementation of toArray() only returns known properties. + // For a map, return everything as the properties are not pre-defined. + return $this->getValue(); + } + /** * {@inheritdoc} */