52 parent::__construct($context);
65 $resultJson = $this->jsonFactory->create();
69 $postItems = $this->
getRequest()->getParam(
'items', []);
70 if (!($this->
getRequest()->getParam(
'isAjax') && count($postItems))) {
71 return $resultJson->setData([
72 'messages' => [
__(
'Please correct the data sent.')],
77 foreach (array_keys($postItems) as $pageId) {
79 $page = $this->pageRepository->getById($pageId);
81 $pageData = $this->
filterPost($postItems[$pageId]);
83 $extendedPageData =
$page->getData();
85 $this->pageRepository->save(
$page);
86 }
catch (\
Magento\Framework\Exception\LocalizedException $e) {
89 }
catch (\RuntimeException $e) {
92 }
catch (\Exception $e) {
95 __(
'Something went wrong while saving the page.')
101 return $resultJson->setData([
102 'messages' => $messages,
115 $pageData = $this->dataProcessor->filter(
$postData);
116 $pageData[
'custom_theme'] = isset($pageData[
'custom_theme']) ? $pageData[
'custom_theme'] :
null;
117 $pageData[
'custom_root_template'] = isset($pageData[
'custom_root_template'])
118 ? $pageData[
'custom_root_template']
134 if (!($this->dataProcessor->validate($pageData) && $this->dataProcessor->validateRequireEntry($pageData))) {
136 foreach ($this->messageManager->getMessages(
true)->getItems() as $error) {
151 return '[Page ID: ' .
$page->getId() .
'] ' . $errorText;
164 $page->setData(array_merge(
$page->getData(), $extendedPageData, $pageData));
__construct(Context $context, PostDataProcessor $dataProcessor, PageRepository $pageRepository, JsonFactory $jsonFactory)
getErrorWithPageId(PageInterface $page, $errorText)
setCmsPageData(\Magento\Cms\Model\Page $page, array $extendedPageData, array $pageData)
validatePost(array $pageData, \Magento\Cms\Model\Page $page, &$error, array &$messages)