Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ProductProcessUrlRewriteSavingObserver.php
Go to the documentation of this file.
1 <?php
7 
13 
15 {
19  private $productUrlRewriteGenerator;
20 
24  private $urlPersist;
25 
30  public function __construct(
31  ProductUrlRewriteGenerator $productUrlRewriteGenerator,
32  UrlPersistInterface $urlPersist
33  ) {
34  $this->productUrlRewriteGenerator = $productUrlRewriteGenerator;
35  $this->urlPersist = $urlPersist;
36  }
37 
43  public function execute(\Magento\Framework\Event\Observer $observer)
44  {
46  $product = $observer->getEvent()->getProduct();
47 
48  if ($product->dataHasChangedFor('url_key')
49  || $product->getIsChangedCategories()
50  || $product->getIsChangedWebsites()
51  || $product->dataHasChangedFor('visibility')
52  ) {
53  if ($product->isVisibleInSiteVisibility()) {
54  $this->urlPersist->replace($this->productUrlRewriteGenerator->generate($product));
55  }
56  }
57  }
58 }
__construct(ProductUrlRewriteGenerator $productUrlRewriteGenerator, UrlPersistInterface $urlPersist)