By marcoscano on
Change record status:
Published (View all published change records)
Project:
Introduced in branch:
8.5.x
Introduced in version:
8.5.0
Issue links:
Description:
API Changes
A new alter hook was added:
hook_field_ui_preconfigured_options_alter()
This hook allows modules to alter the result of \Drupal\Core\Field\PreconfiguredFieldUiOptionsInterface::getPreconfiguredOptions().
Examples of usage:
/**
* Implements hook_field_ui_preconfigured_options_alter().
*/
function field_test_field_ui_preconfigured_options_alter(array &$options, $field_type) {
if ($field_type === 'test_field_with_preconfigured_options') {
$options['custom_options']['entity_view_display']['settings'] = [
'test_formatter_setting_multiple' => 'altered dummy test string',
];
}
}
Or also:
+/**
+ * Implements hook_field_ui_preconfigured_options_alter().
+ */
+function media_field_ui_preconfigured_options_alter(array &$options, $field_type) {
+ // Only act on entity_reference fields.
+ /** @var \Drupal\Core\Field\FieldTypePluginManager $field_type_manager */
+ $field_type_manager = \Drupal::service('plugin.manager.field.field_type');
+ $class = $field_type_manager->getPluginClass($field_type);
+ if (!is_a($class, 'Drupal\Core\Field\Plugin\Field\FieldType\EntityReferenceItem', TRUE)) {
+ return;
+ }
+
+ // Set the default formatter for media in entity reference fields to be the
+ // "Rendered entity" formatter.
+ if (!empty($options['media'])) {
+ $options['media']['entity_view_display']['type'] = 'entity_reference_entity_view';
+ }
+}
Impacts:
Module developers