11 use Magento\UrlRewrite\Service\V1\Data\UrlRewriteFactory;
28 private $databaseMapPool;
38 private $urlRewritePrototype;
43 private $urlRewriteClassNames = [];
54 UrlRewriteFactory $urlRewriteFactory,
55 array $urlRewriteClassNames = []
57 $this->databaseMapPool = $databaseMapPool;
58 $this->urlFinder = $urlFinder;
59 $this->urlRewriteClassNames = $urlRewriteClassNames;
60 $this->urlRewritePrototype = $urlRewriteFactory->create();
76 && is_numeric($entityId)
88 return $this->urlFinder->findAllByData(
103 private function arrayToUrlRewriteObject(array
$data)
105 foreach (
$data as $key => $array) {
106 $data[$key] = $this->createUrlRewrite($array);
117 private function createUrlRewrite(array
$data)
119 $dataObject = clone $this->urlRewritePrototype;
120 $dataObject->setUrlRewriteId(
$data[
'url_rewrite_id']);
121 $dataObject->setEntityType(
$data[
'entity_type']);
122 $dataObject->setEntityId(
$data[
'entity_id']);
123 $dataObject->setRequestPath(
$data[
'request_path']);
124 $dataObject->setTargetPath(
$data[
'target_path']);
125 $dataObject->setRedirectType(
$data[
'redirect_type']);
126 $dataObject->setStoreId(
$data[
'store_id']);
127 $dataObject->setDescription(
$data[
'description']);
128 $dataObject->setIsAutogenerated(
$data[
'is_autogenerated']);
129 $dataObject->setMetadata(
$data[
'metadata']);
findAllByData($entityId, $storeId, $entityType, $rootCategoryId=null)
const ENTITY_TYPE_CATEGORY
__construct(DatabaseMapPool $databaseMapPool, UrlFinderInterface $urlFinder, UrlRewriteFactory $urlRewriteFactory, array $urlRewriteClassNames=[])
const ENTITY_TYPE_PRODUCT