function block_configurable_language_delete in Drupal 9
Same name and namespace in other branches
- 8 core/modules/block/block.module \block_configurable_language_delete()
- 10 core/modules/block/block.module \block_configurable_language_delete()
Implements hook_ENTITY_TYPE_delete() for 'configurable_language'.
Delete the potential block visibility settings of the deleted language.
File
- core/
modules/ block/ block.module, line 305 - Controls the visual building blocks a page is constructed with.
Code
function block_configurable_language_delete(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();
}
}
}