Skip to content

Commit 4e80452

Browse files
author
Stanislav Idolov
authored
ENGCOM-2694: [Forwardport] Update CMS Page Index #17420
2 parents b3540df + 3a4636f commit 4e80452

File tree

2 files changed

+43
-16
lines changed

2 files changed

+43
-16
lines changed

app/code/Magento/Cms/Controller/Index/Index.php

Lines changed: 40 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,73 @@
11
<?php
22
/**
3-
*
43
* Copyright © Magento, Inc. All rights reserved.
54
* See COPYING.txt for license details.
65
*/
76
namespace Magento\Cms\Controller\Index;
87

8+
use Magento\Framework\App\Action\Context;
9+
use Magento\Framework\App\Config\ScopeConfigInterface;
10+
use Magento\Framework\App\ObjectManager;
11+
use Magento\Framework\App\ResponseInterface;
12+
use Magento\Framework\Controller\ResultInterface;
13+
use Magento\Framework\Controller\Result\Forward;
14+
use Magento\Framework\Controller\Result\ForwardFactory;
15+
use Magento\Framework\View\Result\Page as ResultPage;
16+
use Magento\Cms\Helper\Page;
17+
use Magento\Store\Model\ScopeInterface;
18+
919
class Index extends \Magento\Framework\App\Action\Action
1020
{
1121
/**
12-
* @var \Magento\Framework\Controller\Result\ForwardFactory
22+
* @var ForwardFactory
1323
*/
1424
protected $resultForwardFactory;
1525

1626
/**
17-
* @param \Magento\Framework\App\Action\Context $context
18-
* @param \Magento\Framework\Controller\Result\ForwardFactory $resultForwardFactory
27+
* @var ScopeConfigInterface
28+
*/
29+
private $scopeConfig;
30+
31+
/**
32+
* @var Page
33+
*/
34+
private $page;
35+
36+
/**
37+
* Index constructor.
38+
*
39+
* @param Context $context
40+
* @param ForwardFactory $resultForwardFactory
41+
* @param ScopeConfigInterface|null $scopeConfig
42+
* @param Page|null $page
1943
*/
2044
public function __construct(
21-
\Magento\Framework\App\Action\Context $context,
22-
\Magento\Framework\Controller\Result\ForwardFactory $resultForwardFactory
45+
Context $context,
46+
ForwardFactory $resultForwardFactory,
47+
ScopeConfigInterface $scopeConfig = null,
48+
Page $page = null
2349
) {
2450
$this->resultForwardFactory = $resultForwardFactory;
51+
$this->scopeConfig = $scopeConfig ? : ObjectManager::getInstance()->get(ScopeConfigInterface::class);
52+
$this->page = $page ? : ObjectManager::getInstance()->get(Page::class);
2553
parent::__construct($context);
2654
}
2755

2856
/**
2957
* Renders CMS Home page
3058
*
3159
* @param string|null $coreRoute
32-
* @return \Magento\Framework\Controller\Result\Forward
60+
*
61+
* @return bool|ResponseInterface|Forward|ResultInterface|ResultPage
62+
*
3363
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
3464
*/
3565
public function execute($coreRoute = null)
3666
{
37-
$pageId = $this->_objectManager->get(
38-
\Magento\Framework\App\Config\ScopeConfigInterface::class
39-
)->getValue(
40-
\Magento\Cms\Helper\Page::XML_PATH_HOME_PAGE,
41-
\Magento\Store\Model\ScopeInterface::SCOPE_STORE
42-
);
43-
$resultPage = $this->_objectManager->get(\Magento\Cms\Helper\Page::class)->prepareResultPage($this, $pageId);
67+
$pageId = $this->scopeConfig->getValue(Page::XML_PATH_HOME_PAGE, ScopeInterface::SCOPE_STORE);
68+
$resultPage = $this->page->prepareResultPage($this, $pageId);
4469
if (!$resultPage) {
45-
/** @var \Magento\Framework\Controller\Result\Forward $resultForward */
70+
/** @var Forward $resultForward */
4671
$resultForward = $this->resultForwardFactory->create();
4772
$resultForward->forward('defaultIndex');
4873
return $resultForward;

app/code/Magento/Cms/Test/Unit/Controller/Index/IndexTest.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,9 @@ protected function setUp()
8484
'response' => $responseMock,
8585
'objectManager' => $objectManagerMock,
8686
'request' => $this->requestMock,
87-
'resultForwardFactory' => $this->forwardFactoryMock
87+
'resultForwardFactory' => $this->forwardFactoryMock,
88+
'scopeConfig' => $scopeConfigMock,
89+
'page' => $this->cmsHelperMock
8890
]
8991
);
9092
}

0 commit comments

Comments
 (0)