function FormElementBase::getTranslationBuild

Same name and namespace in other branches
  1. 11.x core/modules/config_translation/src/FormElement/FormElementBase.php \Drupal\config_translation\FormElement\FormElementBase::getTranslationBuild()
  2. 10 core/modules/config_translation/src/FormElement/FormElementBase.php \Drupal\config_translation\FormElement\FormElementBase::getTranslationBuild()
  3. 8.9.x core/modules/config_translation/src/FormElement/FormElementBase.php \Drupal\config_translation\FormElement\FormElementBase::getTranslationBuild()

File

core/modules/config_translation/src/FormElement/FormElementBase.php, line 53

Class

FormElementBase
Provides a common base class for form elements.

Namespace

Drupal\config_translation\FormElement

Code

public function getTranslationBuild(LanguageInterface $source_language, LanguageInterface $translation_language, $source_config, $translation_config, array $parents, $base_key = NULL) {
  $build['#theme'] = 'config_translation_manage_form_element';
  // For accessibility we make source and translation appear next to each
  // other in the source for each element, which is why we utilize the
  // 'source' and 'translation' sub-keys for the form. The form values,
  // however, should mirror the configuration structure, so that we can
  // traverse the configuration schema and still access the right
  // configuration values in ConfigTranslationFormBase::setConfig().
  // Therefore we make the 'source' and 'translation' keys the top-level
  // keys in $form_state['values'].
  $build['source'] = $this->getSourceElement($source_language, $source_config);
  $build['translation'] = $this->getTranslationElement($translation_language, $source_config, $translation_config);
  $build['source']['#parents'] = array_merge([
    'source',
  ], $parents);
  $build['translation']['#parents'] = array_merge([
    'translation',
  ], $parents);
  return $build;
}

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