urlPersist = $urlPersist; } /** * Clear product urls. * * @param \Magento\Framework\Event\Observer $observer * @return void */ public function execute(\Magento\Framework\Event\Observer $observer) { if ($products = $observer->getEvent()->getBunch()) { $oldSku = $observer->getEvent()->getAdapter()->getOldSku(); $idToDelete = []; foreach ($products as $product) { $sku = strtolower($product[ImportProduct::COL_SKU]); if (!isset($oldSku[$sku])) { continue; } $productData = $oldSku[$sku]; $idToDelete[] = $productData['entity_id']; } if (!empty($idToDelete)) { $this->urlPersist->deleteByData([ UrlRewrite::ENTITY_ID => $idToDelete, UrlRewrite::ENTITY_TYPE => ProductUrlRewriteGenerator::ENTITY_TYPE, ]); } } } }