SaveGoogleExperimentScriptObserver.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. /**
  3. * Google Experiment Product Save 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\Observer;
  10. class SaveGoogleExperimentScriptObserver extends \Magento\GoogleOptimizer\Observer\AbstractSave
  11. {
  12. /**
  13. * @var \Magento\Catalog\Model\Product
  14. */
  15. protected $_product;
  16. /**
  17. * Init entity
  18. *
  19. * @param Observer $observer
  20. * @return void
  21. */
  22. protected function _initEntity($observer)
  23. {
  24. $this->_product = $observer->getEvent()->getProduct();
  25. }
  26. /**
  27. * Check is Google Experiment enabled
  28. *
  29. * @return bool
  30. */
  31. protected function _isGoogleExperimentActive()
  32. {
  33. return $this->_helper->isGoogleExperimentActive($this->_product->getStoreId());
  34. }
  35. /**
  36. * Get data for saving code model
  37. *
  38. * @return array
  39. */
  40. protected function _getCodeData()
  41. {
  42. return [
  43. 'entity_type' => \Magento\GoogleOptimizer\Model\Code::ENTITY_TYPE_PRODUCT,
  44. 'entity_id' => $this->_product->getId(),
  45. 'store_id' => $this->_product->getStoreId(),
  46. 'experiment_script' => $this->_params['experiment_script']
  47. ];
  48. }
  49. }