bogdanbatsenko

Custom CMS Block

Apr 11th, 2022
1,003
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.60 KB | None | 0 0
  1. <?php
  2.  
  3. namespace Vaimo\Brand\Setup;
  4.  
  5. use Magento\Cms\Model\Page;
  6. use Magento\Cms\Model\PageFactory;
  7. use Magento\Cms\Model\BlockFactory;
  8. use Magento\Framework\Setup\InstallDataInterface;
  9. use Magento\Framework\Setup\ModuleContextInterface;
  10. use Magento\Framework\Setup\ModuleDataSetupInterface;
  11.  
  12.  
  13. class InstallData implements InstallDataInterface
  14. {
  15.     /**
  16.      * @var \Magento\Cms\Model\BlockFactory
  17.      */
  18.     protected $blockFactory;
  19.  
  20.     /**
  21.      * @var \Magento\Cms\Model\BlockRepository
  22.      */
  23.     protected $blockRepository;
  24.  
  25.     /**
  26.      * @param PageFactory $resultPageFactory
  27.      * @param \Magento\Cms\Model\BlockFactory $blockFactory
  28.      * @param \Magento\Cms\Model\BlockRepository $blockRepository
  29.      */
  30.     public function __construct(
  31.         PageFactory $resultPageFactory,
  32.         \Magento\Cms\Model\BlockFactory $blockFactory,
  33.         \Magento\Cms\Model\BlockRepository $blockRepository
  34.     ) {
  35.         $this->resultPageFactory = $resultPageFactory;
  36.         $this->blockFactory = $blockFactory;
  37.         $this->blockRepository = $blockRepository;
  38.     }
  39.  
  40.     public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context)
  41.     {
  42.         $data = [
  43.             'title' => 'Custom CMS Block',
  44.             'identifier' => 'custom_cms_block',
  45.             'content' => "<h1>Write your custom cms block content.......</h1>",
  46.             'is_active' => 1,
  47.             'stores' => [0],
  48.             'sort_order' => 0
  49.         ];
  50.  
  51.         $newBlock = $this->blockFactory->create(['data' => $data]);
  52.         $this->blockRepository->save($newBlock);
  53.     }
  54. }
  55.  
Advertisement
Add Comment
Please, Sign In to add comment