function InlineBlock::saveBlockContent
Same name in other branches
- 9 core/modules/layout_builder/src/Plugin/Block/InlineBlock.php \Drupal\layout_builder\Plugin\Block\InlineBlock::saveBlockContent()
- 8.9.x core/modules/layout_builder/src/Plugin/Block/InlineBlock.php \Drupal\layout_builder\Plugin\Block\InlineBlock::saveBlockContent()
- 11.x core/modules/layout_builder/src/Plugin/Block/InlineBlock.php \Drupal\layout_builder\Plugin\Block\InlineBlock::saveBlockContent()
Saves the block_content entity for this plugin.
Parameters
bool $new_revision: Whether to create new revision, if the block was modified.
bool $duplicate_block: Whether to duplicate the "block_content" entity.
File
-
core/
modules/ layout_builder/ src/ Plugin/ Block/ InlineBlock.php, line 271
Class
- InlineBlock
- Defines an inline block plugin type.
Namespace
Drupal\layout_builder\Plugin\BlockCode
public function saveBlockContent($new_revision = FALSE, $duplicate_block = FALSE) {
/** @var \Drupal\block_content\BlockContentInterface $block */
$block = NULL;
if (!empty($this->configuration['block_serialized'])) {
$block = unserialize($this->configuration['block_serialized']);
}
if ($duplicate_block) {
if (empty($block) && !empty($this->configuration['block_revision_id'])) {
$block = $this->entityTypeManager
->getStorage('block_content')
->loadRevision($this->configuration['block_revision_id']);
}
if ($block) {
$block = $block->createDuplicate();
}
}
if ($block) {
// Since the content block is only set if it was unserialized, the flag
// will only effect blocks which were modified or serialized originally.
if ($new_revision) {
$block->setNewRevision();
}
$block->save();
$this->configuration['block_id'] = $block->id();
$this->configuration['block_revision_id'] = $block->getRevisionId();
$this->configuration['block_serialized'] = NULL;
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.