/** * Test create \Magento\Cms\Api\Data\PageInterface */ public function testCreate() { $pageTitle = 'Page title'; $pageIdentifier = 'page-title' . uniqid(); /** @var \Magento\Cms\Api\Data\PageInterface $pageDataObject */ $pageDataObject = $this->pageFactory->create(); $pageDataObject->setTitle($pageTitle)->setIdentifier($pageIdentifier); $serviceInfo = ['rest' => ['resourcePath' => self::RESOURCE_PATH, 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_POST], 'soap' => ['service' => self::SERVICE_NAME, 'serviceVersion' => self::SERVICE_VERSION, 'operation' => self::SERVICE_NAME . 'Save']]; $requestData = ['page' => [PageInterface::IDENTIFIER => $pageDataObject->getIdentifier(), PageInterface::TITLE => $pageDataObject->getTitle()]]; $page = $this->_webApiCall($serviceInfo, $requestData); $this->assertNotNull($page['id']); $this->currentPage = $this->pageRepository->getById($page['id']); $this->assertEquals($this->currentPage->getTitle(), $pageTitle); $this->assertEquals($this->currentPage->getIdentifier(), $pageIdentifier); }
/** * 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); }