![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/app/code/Kaliop/Styleguide/Setup/ |
<?php /** * Copyright (c) 2019 Kaliop Digital Commerce (https://digitalcommerce.kaliop.com) All Rights Reserved. * https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) * kaliop_styleguide_m2 * Julien TRAJMAN <[email protected]> <[email protected]> */ namespace Kaliop\Styleguide\Setup; use Kaliop\Styleguide\Model\Config; use Magento\Cms\Api\PageRepositoryInterface; use Magento\Cms\Api\Data\PageInterface; use Magento\Cms\Api\Data\PageInterfaceFactory; use Magento\Framework\Setup\InstallDataInterface; use Magento\Framework\Setup\ModuleContextInterface; use Magento\Framework\Setup\ModuleDataSetupInterface; use Psr\Log\LoggerInterface; /** * Class InstallData * @package Kaliop\Styleguide\Setup */ class InstallData implements InstallDataInterface { /** * @var PageRepositoryInterface */ private $pageRepository; /** * @var PageInterfaceFactory */ private $pageFactory; /** * @var LoggerInterface */ private $logger; /** * InstallData constructor. * @param PageRepositoryInterface $pageRepository * @param PageInterfaceFactory $pageInterfaceFactory * @param LoggerInterface $logger */ public function __construct( PageRepositoryInterface $pageRepository, PageInterfaceFactory $pageInterfaceFactory, LoggerInterface $logger ) { $this->pageRepository = $pageRepository; $this->pageFactory = $pageInterfaceFactory; $this->logger = $logger; } /** * Installs data for a module * * @param ModuleDataSetupInterface $setup * @param ModuleContextInterface $context * @return void */ public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context) { $this->createCmsPage(); } /** * Create CMS page via installer */ private function createCmsPage() { try { /** @var PageInterface $cmsPage */ $cmsPage = $this->pageFactory->create(); if (!$cmsPage->checkIdentifier(Config::KALIOP_STYLEGUIDE_IDENTIFIER, 0)) { $cmsPage ->setIdentifier(Config::KALIOP_STYLEGUIDE_IDENTIFIER) ->setTitle('Style Guide') ->setContent('') ->setPageLayout('1column') ->setIsActive(true) ->setData('stores', [0]); $this->pageRepository->save($cmsPage); } } catch (\Exception $e) { $this->logger->critical($e->getMessage()); } } }