function LanguageListBuilder::submitForm

Same name and namespace in other branches
  1. 9 core/modules/language/src/LanguageListBuilder.php \Drupal\language\LanguageListBuilder::submitForm()
  2. 8.9.x core/modules/language/src/LanguageListBuilder.php \Drupal\language\LanguageListBuilder::submitForm()
  3. 10 core/modules/language/src/LanguageListBuilder.php \Drupal\language\LanguageListBuilder::submitForm()

Overrides DraggableListBuilderTrait::submitForm

File

core/modules/language/src/LanguageListBuilder.php, line 155

Class

LanguageListBuilder
Defines a class to build a listing of language entities.

Namespace

Drupal\language

Code

public function submitForm(array &$form, FormStateInterface $form_state) {
    parent::submitForm($form, $form_state);
    // Save the default language if changed.
    $new_id = $form_state->getValue('site_default_language');
    if ($new_id != $this->languageManager
        ->getDefaultLanguage()
        ->getId()) {
        $this->configFactory
            ->getEditable('system.site')
            ->set('default_langcode', $new_id)
            ->save();
        $this->languageManager
            ->reset();
    }
    if ($this->languageManager instanceof ConfigurableLanguageManagerInterface) {
        $this->languageManager
            ->updateLockedLanguageWeights();
    }
    $this->messenger
        ->addStatus($this->t('Configuration saved.'));
    // Force the redirection to the page with the language we have just
    // selected as default.
    $form_state->setRedirectUrl($this->entities[$new_id]
        ->toUrl('collection', [
        'language' => $this->entities[$new_id],
    ]));
}

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