diff --git a/core/modules/field_ui/src/Form/FieldStorageAddForm.php b/core/modules/field_ui/src/Form/FieldStorageAddForm.php index d49ac64304..452a934428 100644 --- a/core/modules/field_ui/src/Form/FieldStorageAddForm.php +++ b/core/modules/field_ui/src/Form/FieldStorageAddForm.php @@ -382,12 +382,8 @@ public function submitForm(array &$form, FormStateInterface $form_state) { $field->save(); // Configure the display modes. - if (!empty($default_options['entity_form_display'])) { - $this->configureEntityFormDisplay($field_name, $default_options['entity_form_display']); - } - if (!empty($default_options['entity_view_display'])) { - $this->configureEntityViewDisplay($field_name, $default_options['entity_view_display']); - } + $this->configureEntityFormDisplay($field_name, $default_options['entity_form_display'] ?? []); + $this->configureEntityViewDisplay($field_name, $default_options['entity_view_display'] ?? []); } catch (\Exception $e) { $this->messenger()->addError($this->t('There was a problem creating field %label: @message', ['%label' => $values['label'], '@message' => $e->getMessage()])); @@ -454,6 +450,12 @@ protected function configureEntityFormDisplay($field_name, array $widget_setting $form->setComponent($field_name, $options)->save(); } + if (empty($widget_settings)) { + $this->entityDisplayRepository->getFormDisplay($this->entityTypeId, $this->bundle, 'default') + ->setComponent($field_name, []) + ->save(); + } + if ($enabled_modes) { $this->messenger()->addMessage($this->t('The following form mode(s) were enabled: %enabled_modes', [ '%enabled_modes' => implode(', ', $enabled_modes), @@ -489,6 +491,12 @@ protected function configureEntityViewDisplay($field_name, array $formatter_sett $view->setComponent($field_name, $options)->save(); } + if (empty($formatter_settings)) { + $this->entityDisplayRepository->getViewDisplay($this->entityTypeId, $this->bundle) + ->setComponent($field_name, []) + ->save(); + } + if ($enabled_modes) { $this->messenger()->addMessage($this->t('The following view mode(s) were enabled: %enabled_modes', [ '%enabled_modes' => implode(', ', $enabled_modes),