Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. BlockHooks.php

function BlockHooks::userRoleDelete

Implements hook_ENTITY_TYPE_delete() for user_role entities.

Removes deleted role from blocks that use it.

File

core/modules/block/src/Hook/BlockHooks.php, line 139

Class

BlockHooks
Hook implementations for block.

Namespace

Drupal\block\Hook

Code

public function userRoleDelete($role) {
    foreach (Block::loadMultiple() as $block) {
        
        /** @var \Drupal\block\BlockInterface $block */
        $visibility = $block->getVisibility();
        if (isset($visibility['user_role']['roles'][$role->id()])) {
            unset($visibility['user_role']['roles'][$role->id()]);
            $block->setVisibilityConfig('user_role', $visibility['user_role']);
            $block->save();
        }
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal