Magento 2 – How to Update Block Programmatically?

magento2programmaticallystatic-block

How can i update block content programmatically?

Best Answer

You can try following way for insert/update CMS Block Content:

public function __construct(
    \Magento\Cms\Model\BlockFactory $blockFactory
) {
    $this->blockFactory = $blockFactory;
}

...
...

$cmsBlock = [
    'title' => 'TEST TITLE',
    'identifier' => 'test-block-1',
    'content' => 'Block Content.',
    'is_active' => 1,
    'store_id' => [0]
];
$this->blockFactory->create()->setData($cmsBlock)->save();

For Update CMS Block:

$updateBlockContent = 'Updated Block Content.';
$updateBlock = $this->blockFactory->create()->load(
    'test-block-1',
    'identifier'
);
if ($updateBlock->getId()) {
    $updateBlock->setContent($updateBlockContent);
    $updateBlock->save();
}
Related Topic