Loading core/modules/content_translation/config/schema/content_translation.schema.yml +7 −1 Original line number Diff line number Diff line # Schema for the Content Translation module. field.field.*.*.*.third_party.content_translation: content_translation_field_third_party_settings: type: mapping label: 'Content translation field settings' mapping: Loading @@ -11,6 +11,12 @@ field.field.*.*.*.third_party.content_translation: type: string label: 'Field column for which to synchronize translations' core.base_field_override.*.*.*.third_party.content_translation: type: content_translation_field_third_party_settings field.field.*.*.*.third_party.content_translation: type: content_translation_field_third_party_settings language.content_settings.*.*.third_party.content_translation: type: mapping label: 'Content translation content settings' Loading core/modules/content_translation/content_translation.post_update.php 0 → 100644 +21 −0 Original line number Diff line number Diff line <?php /** * @file * Post update functions for Content Translation. */ use Drupal\Core\Config\Entity\ConfigEntityUpdater; use Drupal\Core\Field\FieldConfigInterface; /** * Update content_translated configuration for base_field_override entities. */ function content_translation_post_update_resave_base_field_overrides(array &$sandbox): void { /** @var \Drupal\Core\Config\Entity\ConfigEntityUpdater $config_updater */ $config_updater = \Drupal::classResolver(ConfigEntityUpdater::class); $config_updater->update($sandbox, 'base_field_override', function (FieldConfigInterface $field) { // Resave base field overrides that have content translation enabled. return (bool) $field->getThirdPartySettings('content_translation'); }, TRUE); } core/modules/content_translation/tests/src/Functional/ContentLanguageBaseFieldSyncWidgetTest.php +4 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,10 @@ public function testBaseFieldSyncOptionsVisibleOnFirstLoad(): void { $assert_session->elementExists('css', 'input[name="settings[media][' . $media_type->id() . '][columns][thumbnail][file]"]'); $assert_session->elementExists('css', 'input[name="settings[media][' . $media_type->id() . '][columns][thumbnail][alt]"]'); $assert_session->elementExists('css', 'input[name="settings[media][' . $media_type->id() . '][columns][thumbnail][title]"]'); // Ensure the form can be saved without config schema errors. $this->getSession()->getPage()->pressButton('Save configuration'); $this->assertSession()->pageTextContains('Settings successfully updated.'); } } Loading
core/modules/content_translation/config/schema/content_translation.schema.yml +7 −1 Original line number Diff line number Diff line # Schema for the Content Translation module. field.field.*.*.*.third_party.content_translation: content_translation_field_third_party_settings: type: mapping label: 'Content translation field settings' mapping: Loading @@ -11,6 +11,12 @@ field.field.*.*.*.third_party.content_translation: type: string label: 'Field column for which to synchronize translations' core.base_field_override.*.*.*.third_party.content_translation: type: content_translation_field_third_party_settings field.field.*.*.*.third_party.content_translation: type: content_translation_field_third_party_settings language.content_settings.*.*.third_party.content_translation: type: mapping label: 'Content translation content settings' Loading
core/modules/content_translation/content_translation.post_update.php 0 → 100644 +21 −0 Original line number Diff line number Diff line <?php /** * @file * Post update functions for Content Translation. */ use Drupal\Core\Config\Entity\ConfigEntityUpdater; use Drupal\Core\Field\FieldConfigInterface; /** * Update content_translated configuration for base_field_override entities. */ function content_translation_post_update_resave_base_field_overrides(array &$sandbox): void { /** @var \Drupal\Core\Config\Entity\ConfigEntityUpdater $config_updater */ $config_updater = \Drupal::classResolver(ConfigEntityUpdater::class); $config_updater->update($sandbox, 'base_field_override', function (FieldConfigInterface $field) { // Resave base field overrides that have content translation enabled. return (bool) $field->getThirdPartySettings('content_translation'); }, TRUE); }
core/modules/content_translation/tests/src/Functional/ContentLanguageBaseFieldSyncWidgetTest.php +4 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,10 @@ public function testBaseFieldSyncOptionsVisibleOnFirstLoad(): void { $assert_session->elementExists('css', 'input[name="settings[media][' . $media_type->id() . '][columns][thumbnail][file]"]'); $assert_session->elementExists('css', 'input[name="settings[media][' . $media_type->id() . '][columns][thumbnail][alt]"]'); $assert_session->elementExists('css', 'input[name="settings[media][' . $media_type->id() . '][columns][thumbnail][title]"]'); // Ensure the form can be saved without config schema errors. $this->getSession()->getPage()->pressButton('Save configuration'); $this->assertSession()->pageTextContains('Settings successfully updated.'); } }