Skip to content

Commit 912374c

Browse files
add logging, move operation from try block
1 parent 17316ae commit 912374c

File tree

1 file changed

+22
-7
lines changed

1 file changed

+22
-7
lines changed

app/code/Magento/Cms/Model/Page/DataProvider.php

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,16 @@
1111
use Magento\Framework\App\ObjectManager;
1212
use Magento\Framework\App\Request\DataPersistorInterface;
1313
use Magento\Framework\App\RequestInterface;
14+
use Magento\Framework\AuthorizationInterface;
1415
use Magento\Framework\Exception\LocalizedException;
1516
use Magento\Ui\DataProvider\Modifier\PoolInterface;
16-
use Magento\Framework\AuthorizationInterface;
17+
use Magento\Ui\DataProvider\ModifierPoolDataProvider;
18+
use Psr\Log\LoggerInterface;
1719

1820
/**
19-
* Class DataProvider
21+
* Cms Page DataProvider
2022
*/
21-
class DataProvider extends \Magento\Ui\DataProvider\ModifierPoolDataProvider
23+
class DataProvider extends ModifierPoolDataProvider
2224
{
2325
/**
2426
* @var DataPersistorInterface
@@ -55,6 +57,11 @@ class DataProvider extends \Magento\Ui\DataProvider\ModifierPoolDataProvider
5557
*/
5658
private $loadedPages;
5759

60+
/**
61+
* @var LoggerInterface
62+
*/
63+
private $logger;
64+
5865
/**
5966
* @param string $name
6067
* @param string $primaryFieldName
@@ -68,6 +75,7 @@ class DataProvider extends \Magento\Ui\DataProvider\ModifierPoolDataProvider
6875
* @param RequestInterface|null $request
6976
* @param CustomLayoutManagerInterface|null $customLayoutManager
7077
* @param PageRepositoryInterface|null $pageRepository
78+
* @param LoggerInterface|null $logger
7179
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
7280
*/
7381
public function __construct(
@@ -82,7 +90,8 @@ public function __construct(
8290
?AuthorizationInterface $auth = null,
8391
?RequestInterface $request = null,
8492
?CustomLayoutManagerInterface $customLayoutManager = null,
85-
?PageRepositoryInterface $pageRepository = null
93+
?PageRepositoryInterface $pageRepository = null,
94+
?LoggerInterface $logger = null
8695
) {
8796
parent::__construct($name, $primaryFieldName, $requestFieldName, $meta, $data, $pool);
8897
$this->collection = $pageCollectionFactory->create();
@@ -93,6 +102,7 @@ public function __construct(
93102
$this->customLayoutManager = $customLayoutManager
94103
?? ObjectManager::getInstance()->get(CustomLayoutManagerInterface::class);
95104
$this->pageRepository = $pageRepository ?? ObjectManager::getInstance()->get(PageRepositoryInterface::class);
105+
$this->logger = $logger ?: ObjectManager::getInstance()->get(LoggerInterface::class);
96106
}
97107

98108
/**
@@ -132,7 +142,7 @@ public function getData(): array
132142

133143
$data = $this->dataPersistor->get('cms_page');
134144
if (empty($data)) {
135-
return $this->loadedData;
145+
return $this->loadedData;
136146
}
137147

138148
$page = $this->collection->getNewEmptyItem();
@@ -148,6 +158,7 @@ public function getData(): array
148158

149159
/**
150160
* Loads the current page by current request params.
161+
*
151162
* @return Page
152163
* @throws LocalizedException
153164
*/
@@ -204,16 +215,20 @@ public function getMeta(): array
204215
//List of custom layout files available for current page.
205216
$options = [['label' => 'No update', 'value' => '_no_update_']];
206217

218+
$page = null;
207219
try {
208220
$page = $this->getCurrentPage();
221+
} catch (LocalizedException $e) {
222+
$this->logger->error($e->getMessage());
223+
}
224+
225+
if ($page) {
209226
if ($page->getCustomLayoutUpdateXml() || $page->getLayoutUpdateXml()) {
210227
$options[] = ['label' => 'Use existing layout update XML', 'value' => '_existing_'];
211228
}
212229
foreach ($this->customLayoutManager->fetchAvailableFiles($page) as $layoutFile) {
213230
$options[] = ['label' => $layoutFile, 'value' => $layoutFile];
214231
}
215-
} catch (LocalizedException $exception) {
216-
217232
}
218233

219234
$customLayoutMeta = [

0 commit comments

Comments
 (0)