Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ClearProductUrlsObserver.php
Go to the documentation of this file.
1 <?php
7 
14 
19 {
23  protected $urlPersist;
24 
28  public function __construct(
30  ) {
31  $this->urlPersist = $urlPersist;
32  }
33 
40  public function execute(\Magento\Framework\Event\Observer $observer)
41  {
42  if ($products = $observer->getEvent()->getBunch()) {
43  $oldSku = $observer->getEvent()->getAdapter()->getOldSku();
44  $idToDelete = [];
45  foreach ($products as $product) {
46  $sku = strtolower($product[ImportProduct::COL_SKU]);
47  if (!isset($oldSku[$sku])) {
48  continue;
49  }
50  $productData = $oldSku[$sku];
51  $idToDelete[] = $productData['entity_id'];
52  }
53  if (!empty($idToDelete)) {
54  $this->urlPersist->deleteByData([
55  UrlRewrite::ENTITY_ID => $idToDelete,
57  ]);
58  }
59  }
60  }
61 }
$productData