function ContentTranslationHandler::entityFormSourceChange

Same name and namespace in other branches
  1. 9 core/modules/content_translation/src/ContentTranslationHandler.php \Drupal\content_translation\ContentTranslationHandler::entityFormSourceChange()
  2. 8.9.x core/modules/content_translation/src/ContentTranslationHandler.php \Drupal\content_translation\ContentTranslationHandler::entityFormSourceChange()
  3. 11.x core/modules/content_translation/src/ContentTranslationHandler.php \Drupal\content_translation\ContentTranslationHandler::entityFormSourceChange()

Form submission handler for ContentTranslationHandler::entityFormAlter().

Takes care of the source language change.

File

core/modules/content_translation/src/ContentTranslationHandler.php, line 784

Class

ContentTranslationHandler
Base class for content translation handlers.

Namespace

Drupal\content_translation

Code

public function entityFormSourceChange($form, FormStateInterface $form_state) {
  $form_object = $form_state->getFormObject();
  $entity = $form_object->getEntity();
  $source = $form_state->getValue([
    'source_langcode',
    'source',
  ]);
  $entity_type_id = $entity->getEntityTypeId();
  $form_state->setRedirect("entity.{$entity_type_id}.content_translation_add", [
    $entity_type_id => $entity->id(),
    'source' => $source,
    'target' => $form_object->getFormLangcode($form_state),
  ]);
  $languages = $this->languageManager
    ->getLanguages();
  $this->messenger
    ->addStatus(t('Source language set to: %language', [
    '%language' => $languages[$source]->getName(),
  ]));
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.