DeleteCmsGoogleExperimentScriptObserver.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. /**
  3. * Google Experiment Cms Page Delete observer
  4. *
  5. * Copyright © Magento, Inc. All rights reserved.
  6. * See COPYING.txt for license details.
  7. */
  8. namespace Magento\GoogleOptimizer\Observer\CmsPage;
  9. use Magento\Framework\Event\ObserverInterface;
  10. class DeleteCmsGoogleExperimentScriptObserver 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 $cmsPage \Magento\Cms\Model\Page */
  32. $cmsPage = $observer->getEvent()->getObject();
  33. $this->_modelCode->loadByEntityIdAndType(
  34. $cmsPage->getId(),
  35. \Magento\GoogleOptimizer\Model\Code::ENTITY_TYPE_PAGE
  36. );
  37. if ($this->_modelCode->getId()) {
  38. $this->_modelCode->delete();
  39. }
  40. return $this;
  41. }
  42. }