function BlockVariantTrait::addBlock
Same name and namespace in other branches
- 4.0.x src/Plugin/BlockVariantTrait.php \Drupal\ctools\Plugin\BlockVariantTrait::addBlock()
See also
\Drupal\ctools\Plugin\BlockVariantInterface::addBlock()
File
-
src/
Plugin/ BlockVariantTrait.php, line 49
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\PluginCode
public function addBlock(array $configuration) {
$configuration['uuid'] = $this->uuidGenerator()
->generate();
$this->getBlockCollection()
->addInstanceId($configuration['uuid'], $configuration);
$block = $this->getBlock($configuration['uuid']);
// Allow modules to react to the change.
$event = new BlockVariantEvent($block, $this);
$this->eventDispatcher()
->dispatch($event, BlockVariantEvents::ADD_BLOCK);
return $configuration['uuid'];
}