- public function execute(\Magento\Framework\Event\Observer $observer)
- {
- /** @var \Magento\Catalog\Model\Product $product */
- $product = $observer->getEvent()->getProduct();
-
- $isChangedWebsites = $product->getIsChangedWebsites();
- if ($product->dataHasChangedFor('url_key') || $product->getIsChangedCategories() || $isChangedWebsites) {
- if ($isChangedWebsites) {
- $this->urlPersist->deleteByData([
- UrlRewrite::ENTITY_ID => $product->getId(),
- UrlRewrite::ENTITY_TYPE => ProductUrlRewriteGenerator::ENTITY_TYPE,
- ]);
- }
- if ($product->getVisibility() != Visibility::VISIBILITY_NOT_VISIBLE) {
- $this->urlPersist->replace($this->productUrlRewriteGenerator->generate($product));
- }
- }
- }