DeleteProductGoogleExperimentScriptObserver.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. /**
  3. * Google Experiment Product observer
  4. *
  5. * Copyright © Magento, Inc. All rights reserved.
  6. * See COPYING.txt for license details.
  7. */
  8. namespace Magento\GoogleOptimizer\Observer\Product;
  9. use Magento\Framework\Event\ObserverInterface;
  10. class DeleteProductGoogleExperimentScriptObserver implements ObserverInterface
  11. {
  12. /**
  13. * @var \Magento\GoogleOptimizer\Model\Code
  14. */
  15. protected $_modelCode;
  16. /**
  17. * @param \Magento\GoogleOptimizer\Model\Code $modelCode
  18. */
  19. public function __construct(\Magento\GoogleOptimizer\Model\Code $modelCode)
  20. {
  21. $this->_modelCode = $modelCode;
  22. }
  23. /**
  24. * Delete Product scripts after deleting product
  25. *
  26. * @param \Magento\Framework\Event\Observer $observer
  27. * @return $this
  28. */
  29. public function execute(\Magento\Framework\Event\Observer $observer)
  30. {
  31. /** @var $product \Magento\Catalog\Model\Product */
  32. $product = $observer->getEvent()->getProduct();
  33. $this->_modelCode->loadByEntityIdAndType(
  34. $product->getId(),
  35. \Magento\GoogleOptimizer\Model\Code::ENTITY_TYPE_PRODUCT,
  36. $product->getStoreId()
  37. );
  38. if ($this->_modelCode->getId()) {
  39. $this->_modelCode->delete();
  40. }
  41. return $this;
  42. }
  43. }