Today we are going to share that how to add CMS page via install script in CMS page admin area.
This is our module : Magemonkeys_Cmspagescript
So we need to create InstallData.php file in setup folder
Here is code
<?php
namespace MagemonkeysCmspagescriptSetup;
use MagentoCmsModelPageFactory;
use MagentoFrameworkSetupInstallDataInterface;
use MagentoFrameworkSetupModuleContextInterface;
use MagentoFrameworkSetupModuleDataSetupInterface;
class InstallData implements InstallDataInterface
{
private $pageFactory;
public function __construct(PageFactory $pageFactory)
{
$this->pageFactory = $pageFactory;
}
public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context)
{
$cmsPageDataarray = [
'title' => 'My cms page',
'page_layout' => '1column',
'meta_keywords' => 'My Page keywords',
'meta_description' => 'My Page description',
'identifier' => 'my-page',
'content_heading' => 'my cms page',
'content' => "<h1>This is hello world my page</h1>",
'is_active' => 1,
'stores' => [0],
'sort_order' => 0
];
$this->pageFactory->create()->setData($cmsPageDataarray)->save();
}
}
Now all we have to do is to run below commands:
php bin/magento setup:upgrade
php bin/magento cache:clean
That’s it. Hope that helps!

