8
8
namespace Magento \CatalogUrlRewrite \Plugin \Catalog \Model \Product ;
9
9
10
10
use Magento \Catalog \Model \Product \Action as ProductAction ;
11
- use Magento \Catalog \Model \ResourceModel \Product \Collection ;
11
+ use Magento \Catalog \Model \ResourceModel \Product \CollectionFactory ;
12
12
use Magento \CatalogUrlRewrite \Model \Products \AppendUrlRewritesToProducts ;
13
13
use Magento \CatalogUrlRewrite \Model \ProductUrlRewriteGenerator ;
14
14
use Magento \Store \Api \StoreWebsiteRelationInterface ;
@@ -27,9 +27,9 @@ class UpdateProductWebsiteUrlRewrites
27
27
private $ urlPersist ;
28
28
29
29
/**
30
- * @var Collection
30
+ * @var CollectionFactory
31
31
*/
32
- private $ productCollection ;
32
+ private $ productCollectionFactory ;
33
33
34
34
/**
35
35
* @var AppendUrlRewritesToProducts
@@ -43,18 +43,18 @@ class UpdateProductWebsiteUrlRewrites
43
43
44
44
/**
45
45
* @param UrlPersistInterface $urlPersist
46
- * @param Collection $productCollection
46
+ * @param CollectionFactory $productCollectionFactory
47
47
* @param AppendUrlRewritesToProducts $appendRewrites
48
48
* @param GetStoresListByWebsiteIds $getStoresList
49
49
*/
50
50
public function __construct (
51
51
UrlPersistInterface $ urlPersist ,
52
- Collection $ productCollection ,
52
+ CollectionFactory $ productCollectionFactory ,
53
53
AppendUrlRewritesToProducts $ appendRewrites ,
54
54
GetStoresListByWebsiteIds $ getStoresList
55
55
) {
56
56
$ this ->urlPersist = $ urlPersist ;
57
- $ this ->productCollection = $ productCollection ;
57
+ $ this ->productCollectionFactory = $ productCollectionFactory ;
58
58
$ this ->appendRewrites = $ appendRewrites ;
59
59
$ this ->getStoresList = $ getStoresList ;
60
60
}
@@ -90,8 +90,9 @@ public function afterUpdateWebsites(
90
90
]
91
91
);
92
92
} 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 );
95
96
}
96
97
}
97
98
}
0 commit comments