16 use Magento\UrlRewrite\Model\MergeDataProviderFactory;
52 private $mergeDataProviderPrototype;
73 MergeDataProviderFactory $mergeDataProviderFactory =
null 80 if (!isset($mergeDataProviderFactory)) {
83 $this->mergeDataProviderPrototype = $mergeDataProviderFactory->create();
119 $mergeDataProvider = clone $this->mergeDataProviderPrototype;
129 $result = $mergeDataProvider->getData();
141 return $overrideStoreUrls || !$this->storeViewService->doesEntityHaveOverriddenUrlKeyForStore(
157 $categoryFromRepository = $this->categoryRepository->get(
$category->getId(),
$storeId);
160 'url_key' => $categoryFromRepository->getUrlKey(),
161 'url_path' => $categoryFromRepository->getUrlPath()
187 $mergeDataProvider = clone $this->mergeDataProviderPrototype;
188 $mergeDataProvider->merge(
191 $mergeDataProvider->merge(
194 $mergeDataProvider->merge(
197 return $mergeDataProvider->getData();
$canonicalUrlRewriteGenerator
__construct(CanonicalUrlRewriteGenerator $canonicalUrlRewriteGenerator, CurrentUrlRewritesRegenerator $currentUrlRewritesRegenerator, ChildrenUrlRewriteGenerator $childrenUrlRewriteGenerator, StoreViewService $storeViewService, CategoryRepositoryInterface $categoryRepository, MergeDataProviderFactory $mergeDataProviderFactory=null)
generateForGlobalScope(Category $category=null, $overrideStoreUrls=false, $rootCategoryId=null)
generate($category, $overrideStoreUrls=false, $rootCategoryId=null)
$childrenUrlRewriteGenerator
updateCategoryUrlForStore($storeId, Category $category=null)
isOverrideUrlsForStore($storeId, $categoryId, $overrideStoreUrls=false)
$currentUrlRewritesRegenerator
generateForSpecificStoreView($storeId, Category $category=null, $rootCategoryId=null)