/** * Save Page data * * @param \Magento\Cms\Api\Data\PageInterface $page * @return Page * @throws CouldNotSaveException */ public function save(\Magento\Cms\Api\Data\PageInterface $page) { $storeId = $this->storeManager->getStore()->getId(); $page->setStoreId($storeId); try { $this->resource->save($page); } catch (\Exception $exception) { throw new CouldNotSaveException(__($exception->getMessage())); } return $page; }
/** * Test delete \Magento\Cms\Api\Data\PageInterface * @expectedException \Magento\Framework\Exception\NoSuchEntityException */ public function testDelete() { $pageTitle = 'Page title'; $pageIdentifier = 'page-title' . uniqid(); /** @var \Magento\Cms\Api\Data\PageInterface $pageDataObject */ $pageDataObject = $this->pageFactory->create(); $pageDataObject->setTitle($pageTitle)->setIdentifier($pageIdentifier); $this->currentPage = $this->pageRepository->save($pageDataObject); $serviceInfo = ['rest' => ['resourcePath' => self::RESOURCE_PATH . '/' . $this->currentPage->getId(), 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_DELETE], 'soap' => ['service' => self::SERVICE_NAME, 'serviceVersion' => self::SERVICE_VERSION, 'operation' => self::SERVICE_NAME . 'DeleteById']]; $this->_webApiCall($serviceInfo, [PageInterface::PAGE_ID => $this->currentPage->getId()]); $this->pageRepository->getById($this->currentPage['id']); }
/** * Add page title to error message * * @param PageInterface $page * @param string $errorText * @return string */ protected function getErrorWithPageId(PageInterface $page, $errorText) { return '[Page ID: ' . $page->getId() . '] ' . $errorText; }
/** * Generate CMS page url key based on url_key entered by merchant or page title * * @param PageInterface $cmsPage * @return string * @api */ public function generateUrlKey(PageInterface $cmsPage) { $urlKey = $cmsPage->getIdentifier(); return $this->filterManager->translitUrl($urlKey === '' || $urlKey === null ? $cmsPage->getTitle() : $urlKey); }
/** * Add page title to error message * * @param PageInterface $brand * @param string $errorText * @return string */ protected function getErrorWithgroupId($brand, $errorText) { return '[Page ID: ' . $brand->getId() . '] ' . $errorText; }