You are here

protected function NegotiationConfigureForm::disableLanguageSwitcher in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/language/src/Form/NegotiationConfigureForm.php \Drupal\language\Form\NegotiationConfigureForm::disableLanguageSwitcher()
  2. 9 core/modules/language/src/Form/NegotiationConfigureForm.php \Drupal\language\Form\NegotiationConfigureForm::disableLanguageSwitcher()

Disables the language switcher blocks.

Parameters

array $language_types: An array containing all language types whose language switchers need to be disabled.

1 call to NegotiationConfigureForm::disableLanguageSwitcher()
NegotiationConfigureForm::submitForm in core/modules/language/src/Form/NegotiationConfigureForm.php
Form submission handler.

File

core/modules/language/src/Form/NegotiationConfigureForm.php, line 326

Class

NegotiationConfigureForm
Configure the selected language negotiation method for this site.

Namespace

Drupal\language\Form

Code

protected function disableLanguageSwitcher(array $language_types) {
  $theme = $this->themeHandler
    ->getDefault();
  $blocks = $this->blockStorage
    ->loadByProperties([
    'theme' => $theme,
  ]);
  foreach ($language_types as $language_type) {
    foreach ($blocks as $block) {
      if ($block
        ->getPluginId() == 'language_block:' . $language_type) {
        $block
          ->delete();
      }
    }
  }
}