Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Index.php
Go to the documentation of this file.
1 <?php
7 
16 use Magento\Framework\Controller\Result\ForwardFactory;
17 use Magento\Framework\View\Result\Page as ResultPage;
21 
26 {
31 
35  private $scopeConfig;
36 
40  private $page;
41 
50  public function __construct(
51  Context $context,
52  ForwardFactory $resultForwardFactory,
53  ScopeConfigInterface $scopeConfig = null,
54  Page $page = null
55  ) {
56  $this->resultForwardFactory = $resultForwardFactory;
57  $this->scopeConfig = $scopeConfig ? : ObjectManager::getInstance()->get(ScopeConfigInterface::class);
58  $this->page = $page ? : ObjectManager::getInstance()->get(Page::class);
59  parent::__construct($context);
60  }
61 
71  public function execute($coreRoute = null)
72  {
73  $pageId = $this->scopeConfig->getValue(Page::XML_PATH_HOME_PAGE, ScopeInterface::SCOPE_STORE);
74  $resultPage = $this->page->prepareResultPage($this, $pageId);
75  if (!$resultPage) {
77  $resultForward = $this->resultForwardFactory->create();
78  $resultForward->forward('defaultIndex');
79  return $resultForward;
80  }
81  return $resultPage;
82  }
83 }
const XML_PATH_HOME_PAGE
Definition: Page.php:31
__construct(Context $context, ForwardFactory $resultForwardFactory, ScopeConfigInterface $scopeConfig=null, Page $page=null)
Definition: Index.php:50