4.3. Update field types¶
You need to adapt your custom field types to the new field type architecture.
eZ\Publish\SPI\FieldType\FieldType interface¶
The eZ\Publish\SPI\FieldType\FieldType interface is now an abstract class.
You need to replace implements FieldType in your field type code with extends FieldType.
Deprecated getName method¶
The deprecated method getName from the eZ\Publish\SPI\FieldType\FieldType interface has been changed.
Now it accepts two additional parameters: FieldDefinition $fieldDefinition and string $languageCode.
In your code you need to change the getName signature
to function getName(Value $value, FieldDefinition $fieldDefinition, string $languageCode): string;.
eZ\Publish\SPI\FieldType\Nameable interface¶
The eZ\Publish\SPI\FieldType\Nameable interface has been removed.
In your code you need to remove implementations of Nameable and replace them with
eZ\Publish\SPI\FieldType\FieldType::getName.
Deprecated tags¶
You need to replace deprecated tags in service configuration:
| Deprecated tag | Current tag |
|---|---|
| ezpublish.fieldType.parameterProvider | ezplatform.field_type.parameter_provider |
| ezpublish.fieldType.externalStorageHandler | ezplatform.field_type.external_storage_handler |
| ezpublish.fieldType.externalStorageHandler.gateway | ezplatform.field_type.external_storage_handler.gateway |
| ezpublish.fieldType | ezplatform.field_type |
| ezpublish.fieldType.indexable | ezplatform.field_type.indexable |
| ezpublish.storageEngine.legacy.converter | ezplatform.field_type.legacy_storage.converter |
| ez.fieldFormMapper.definition | ezplatform.field_type.form_mapper.definition |
| ez.fieldFormMapper.value | ezplatform.field_type.form_mapper.value |
Moved classes¶
You need to replace importing the following classes:
| Previous location | Current location |
|---|---|
| EzSystems\RepositoryForms\Data\Content\FieldData | EzSystems\EzPlatformContentForms\Data\Content\FieldData |
| EzSystems\RepositoryForms\Data\FieldDefinitionData | EzSystems\EzPlatformAdminUi\Form\Data\FieldDefinitionData |
| EzSystems\RepositoryForms\FieldType\FieldDefinitionFormMapperInterface | EzSystems\EzPlatformAdminUi\FieldType\FieldDefinitionFormMapperInterface |
| EzSystems\RepositoryForms\FieldType\FieldValueFormMapperInterface | EzSystems\EzPlatformContentForms\FieldType\FieldValueFormMapperInterface |
Extending field type templates¶
If you extended templates for ezobjectrelationlist_field, ezimageasset_field, or ezobjectrelation_field fields
using {% extends "@EzPublishCore/content_fields.html.twig" %},
you now need to extend EzSystemsPlatformHttpCache instead, if you wish to make use of cache:
{% extends "@EzSystemsPlatformHttpCache/content_fields.html.twig" %}.