function BlockVariantTrait::updateBlock

Same name and namespace in other branches
  1. 4.0.x src/Plugin/BlockVariantTrait.php \Drupal\ctools\Plugin\BlockVariantTrait::updateBlock()

See also

\Drupal\ctools\Plugin\BlockVariantInterface::updateBlock()

File

src/Plugin/BlockVariantTrait.php, line 78

Class

BlockVariantTrait
Provides methods for <a href="/api/ctools/src%21Plugin%21BlockVariantInterface.php/interface/BlockVariantInterface/8.x-3.x" title="Provides an interface for variant plugins that use block plugins." class="local">\Drupal\ctools\Plugin\BlockVariantInterface</a>.

Namespace

Drupal\ctools\Plugin

Code

public function updateBlock($block_id, array $configuration) {
    $block = $this->getBlock($block_id);
    $existing_configuration = $block->getConfiguration();
    $this->getBlockCollection()
        ->setInstanceConfiguration($block_id, $configuration + $existing_configuration);
    // Allow modules to react to the change.
    $event = new BlockVariantEvent($block, $this);
    $this->eventDispatcher()
        ->dispatch($event, BlockVariantEvents::UPDATE_BLOCK);
    return $this;
}