Skip to content

Commit 679b382

Browse files
committed
MC-41550: product URL rewrite for specific website not generated after mass update
1 parent aaeadff commit 679b382

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

app/code/Magento/CatalogUrlRewrite/Plugin/Catalog/Model/Product/UpdateProductWebsiteUrlRewrites.php

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
namespace Magento\CatalogUrlRewrite\Plugin\Catalog\Model\Product;
99

1010
use Magento\Catalog\Model\Product\Action as ProductAction;
11-
use Magento\Catalog\Model\ResourceModel\Product\Collection;
11+
use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory;
1212
use Magento\CatalogUrlRewrite\Model\Products\AppendUrlRewritesToProducts;
1313
use Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator;
1414
use Magento\Store\Api\StoreWebsiteRelationInterface;
@@ -27,9 +27,9 @@ class UpdateProductWebsiteUrlRewrites
2727
private $urlPersist;
2828

2929
/**
30-
* @var Collection
30+
* @var CollectionFactory
3131
*/
32-
private $productCollection;
32+
private $productCollectionFactory;
3333

3434
/**
3535
* @var AppendUrlRewritesToProducts
@@ -43,18 +43,18 @@ class UpdateProductWebsiteUrlRewrites
4343

4444
/**
4545
* @param UrlPersistInterface $urlPersist
46-
* @param Collection $productCollection
46+
* @param CollectionFactory $productCollectionFactory
4747
* @param AppendUrlRewritesToProducts $appendRewrites
4848
* @param GetStoresListByWebsiteIds $getStoresList
4949
*/
5050
public function __construct(
5151
UrlPersistInterface $urlPersist,
52-
Collection $productCollection,
52+
CollectionFactory $productCollectionFactory,
5353
AppendUrlRewritesToProducts $appendRewrites,
5454
GetStoresListByWebsiteIds $getStoresList
5555
) {
5656
$this->urlPersist = $urlPersist;
57-
$this->productCollection = $productCollection;
57+
$this->productCollectionFactory = $productCollectionFactory;
5858
$this->appendRewrites = $appendRewrites;
5959
$this->getStoresList = $getStoresList;
6060
}
@@ -90,8 +90,9 @@ public function afterUpdateWebsites(
9090
]
9191
);
9292
} else {
93-
$collection = $this->productCollection->addFieldToFilter('entity_id', ['in' => implode(',', $productIds)]);
94-
$this->appendRewrites->execute($collection->getItems(), $storeIds);
93+
$productCollection = $this->productCollectionFactory->create();
94+
$productCollection->addFieldToFilter('entity_id', ['in' => implode(',', $productIds)]);
95+
$this->appendRewrites->execute($productCollection->getItems(), $storeIds);
9596
}
9697
}
9798
}

0 commit comments

Comments
 (0)