9 use Magento\CatalogUrlRewrite\Model\CategoryUrlRewriteGeneratorFactory;
11 use Magento\UrlRewrite\Model\MergeDataProviderFactory;
29 private $mergeDataProviderPrototype;
39 MergeDataProviderFactory $mergeDataProviderFactory =
null 43 if (!isset($mergeDataProviderFactory)) {
46 $this->mergeDataProviderPrototype = $mergeDataProviderFactory->create();
59 $mergeDataProvider = clone $this->mergeDataProviderPrototype;
60 foreach ($this->childrenCategoriesProvider->getChildren(
$category,
true) as $childCategory) {
61 $childCategory->setStoreId(
$storeId);
62 $childCategory->setData(
'save_rewrites_history',
$category->getData(
'save_rewrites_history'));
64 $categoryUrlRewriteGenerator = $this->categoryUrlRewriteGeneratorFactory->create();
65 $mergeDataProvider->merge(
66 $categoryUrlRewriteGenerator->generate($childCategory,
false,
$rootCategoryId)
70 return $mergeDataProvider->getData();
$categoryUrlRewriteGeneratorFactory
$childrenCategoriesProvider
__construct(ChildrenCategoriesProvider $childrenCategoriesProvider, CategoryUrlRewriteGeneratorFactory $categoryUrlRewriteGeneratorFactory, MergeDataProviderFactory $mergeDataProviderFactory=null)