/** * @param \Magento\UrlRewrite\Service\V1\Data\UrlRewrite $url * @param int $storeId * @return array */ protected function generateForCustom($url, $storeId) { $urls = []; $targetPath = !$url->getRedirectType() ? $url->getTargetPath() : $this->categoryUrlPathGenerator->getUrlPathWithSuffix($this->category, $storeId); if ($url->getRequestPath() !== $targetPath) { $urls[$url->getRequestPath() . '_' . $storeId] = $this->urlRewriteFactory->create()->setEntityType(CategoryUrlRewriteGenerator::ENTITY_TYPE)->setEntityId($this->category->getId())->setRequestPath($url->getRequestPath())->setTargetPath($targetPath)->setRedirectType($url->getRedirectType())->setStoreId($storeId)->setDescription($url->getDescription())->setIsAutogenerated(0)->setMetadata($url->getMetadata()); } return $urls; }
/** * @param UrlRewrite $url * @return bool */ protected function isCorrectUrl(UrlRewrite $url) { $metadata = $url->getMetadata(); return $url->getEntityType() == ProductUrlRewriteGenerator::ENTITY_TYPE && !empty($metadata['category_id']) && $url->getIsAutogenerated(); }
/** * @param UrlRewrite $url * @return Category|null|bool */ protected function retrieveCategoryFromMetadata($url) { $metadata = $url->getMetadata(); if (isset($metadata['category_id'])) { $category = $this->import->getCategoryProcessor()->getCategoryById($metadata['category_id']); return $category === null ? false : $category; } return null; }
/** * @param UrlRewrite $url * @return Category|null|bool */ protected function retrieveCategoryFromMetadata($url) { $metadata = $url->getMetadata(); if (isset($metadata['category_id'])) { $category = $this->productCategories->get($metadata['category_id']); return $category === null ? false : $category; } return null; }