function Block::remove

Same name and namespace in other branches
  1. 8.9.x core/modules/views/src/Plugin/views/display/Block.php \Drupal\views\Plugin\views\display\Block::remove()
  2. 10 core/modules/views/src/Plugin/views/display/Block.php \Drupal\views\Plugin\views\display\Block::remove()
  3. 11.x core/modules/views/src/Plugin/views/display/Block.php \Drupal\views\Plugin\views\display\Block::remove()

Overrides DisplayPluginBase::remove

File

core/modules/views/src/Plugin/views/display/Block.php, line 382

Class

Block
The plugin that handles a block.

Namespace

Drupal\views\Plugin\views\display

Code

public function remove() {
    parent::remove();
    if ($this->entityTypeManager
        ->hasDefinition('block')) {
        $plugin_id = 'views_block:' . $this->view->storage
            ->id() . '-' . $this->display['id'];
        foreach ($this->entityTypeManager
            ->getStorage('block')
            ->loadByProperties([
            'plugin' => $plugin_id,
        ]) as $block) {
            $block->delete();
        }
    }
    if ($this->blockManager instanceof CachedDiscoveryInterface) {
        $this->blockManager
            ->clearCachedDefinitions();
    }
}

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