function Block::remove

Same name and namespace in other branches
  1. 9 core/modules/views/src/Plugin/views/display/Block.php \Drupal\views\Plugin\views\display\Block::remove()
  2. 8.9.x 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 384

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.