Beispiel #1
0
 /**
  * Before save handler
  *
  * @param \Magento\Cms\Model\ResourceModel\Page $subject
  * @param \Magento\Framework\Model\AbstractModel $object
  *
  * @return void
  * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  */
 public function beforeSave(\Magento\Cms\Model\ResourceModel\Page $subject, \Magento\Framework\Model\AbstractModel $object)
 {
     /** @var $object \Magento\Cms\Model\Page */
     $urlKey = $object->getData('identifier');
     if ($urlKey === '' || $urlKey === null) {
         $object->setData('identifier', $this->cmsPageUrlPathGenerator->generateUrlKey($object));
     }
 }
Beispiel #2
0
 /**
  * Form post init
  *
  * @param \Magento\Framework\Data\Form $form
  * @return \Magento\UrlRewrite\Block\Cms\Page\Edit\Form
  */
 protected function _formPostInit($form)
 {
     $cmsPage = $this->_getCmsPage();
     $form->setAction($this->_adminhtmlData->getUrl('adminhtml/*/save', ['id' => $this->_getModel()->getId(), 'cms_page' => $cmsPage->getId()]));
     // Fill request path and target path elements
     /** @var $requestPath \Magento\Framework\Data\Form\Element\AbstractElement */
     $requestPath = $this->getForm()->getElement('request_path');
     /** @var $targetPath \Magento\Framework\Data\Form\Element\AbstractElement */
     $targetPath = $this->getForm()->getElement('target_path');
     $model = $this->_getModel();
     if (!$model->getId()) {
         $sessionData = $this->_getSessionData();
         if (!isset($sessionData['request_path'])) {
             $requestPath->setValue($this->cmsPageUrlPathGenerator->getUrlPath($cmsPage));
         }
         $targetPath->setValue($this->cmsPageUrlPathGenerator->getCanonicalUrlPath($cmsPage));
     }
     $targetPath->setData('disabled', true);
     return $this;
 }
Beispiel #3
0
 /**
  * Override URL rewrite data, basing on current CMS page
  *
  * @param \Magento\UrlRewrite\Model\UrlRewrite $model
  * @return void
  */
 private function _handleCmsPageUrlRewrite($model)
 {
     $cmsPage = $this->_getCmsPage();
     if ($cmsPage->getId()) {
         if ($model->isObjectNew()) {
             $model->setEntityType(self::ENTITY_TYPE_CMS_PAGE)->setEntityId($cmsPage->getId());
         }
         if ($model->getRedirectType() && !$model->getIsAutogenerated()) {
             $targetPath = $this->cmsPageUrlPathGenerator->getUrlPath($cmsPage);
         } else {
             $targetPath = $this->cmsPageUrlPathGenerator->getCanonicalUrlPath($cmsPage);
         }
         $model->setTargetPath($targetPath);
     }
 }
 /**
  * Create url rewrite object
  *
  * @param int $storeId
  * @param int $redirectType
  * @return \Magento\UrlRewrite\Service\V1\Data\UrlRewrite
  */
 protected function createUrlRewrite($storeId, $redirectType = 0)
 {
     return $this->urlRewriteFactory->create()->setStoreId($storeId)->setEntityType(self::ENTITY_TYPE)->setEntityId($this->cmsPage->getId())->setRequestPath($this->cmsPage->getIdentifier())->setTargetPath($this->cmsPageUrlPathGenerator->getCanonicalUrlPath($this->cmsPage))->setIsAutogenerated(1)->setRedirectType($redirectType);
 }