function BlockHooks::configurableLanguageDelete
Implements hook_ENTITY_TYPE_delete() for 'configurable_language'.
Delete the potential block visibility settings of the deleted language.
File
-
core/
modules/ block/ src/ Hook/ BlockHooks.php, line 171
Class
- BlockHooks
- Hook implementations for block.
Namespace
Drupal\block\HookCode
public function configurableLanguageDelete(ConfigurableLanguageInterface $language) {
// Remove the block visibility settings for the deleted language.
foreach (Block::loadMultiple() as $block) {
/** @var \Drupal\block\BlockInterface $block */
$visibility = $block->getVisibility();
if (isset($visibility['language']['langcodes'][$language->id()])) {
unset($visibility['language']['langcodes'][$language->id()]);
$block->setVisibilityConfig('language', $visibility['language']);
$block->save();
}
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.