Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AbstractCode.php
Go to the documentation of this file.
1 <?php
9 
11 {
15  protected $_registryName;
16 
20  protected $_registry;
21 
25  protected $_helper;
26 
30  protected $_codeHelper;
31 
39  public function __construct(
40  \Magento\Framework\View\Element\Template\Context $context,
41  \Magento\GoogleOptimizer\Helper\Data $helper,
42  \Magento\Framework\Registry $registry,
43  \Magento\GoogleOptimizer\Helper\Code $codeHelper,
44  array $data = []
45  ) {
46  $this->_helper = $helper;
47  $this->_registry = $registry;
48  $this->_codeHelper = $codeHelper;
49  parent::__construct($context, $data);
50  }
51 
58  protected function _getGoogleExperiment()
59  {
60  return $this->_codeHelper->getCodeObjectByEntity($this->_getEntity());
61  }
62 
68  protected function _toHtml()
69  {
70  return parent::_toHtml() . $this->_getScriptCode();
71  }
72 
78  protected function _getScriptCode()
79  {
80  $result = '';
81 
82  if ($this->_helper->isGoogleExperimentActive() && $this->_getGoogleExperiment()) {
83  $result = $this->_getGoogleExperiment()->getData('experiment_script');
84  }
85  return $result;
86  }
87 
94  protected function _getEntity()
95  {
96  $entity = $this->_registry->registry($this->_registryName);
97  if (!$entity) {
98  throw new \RuntimeException('Entity is not found in registry.');
99  }
100  return $entity;
101  }
102 }
$helper
Definition: iframe.phtml:13
$entity
Definition: element.phtml:22
__construct(\Magento\Framework\View\Element\Template\Context $context, \Magento\GoogleOptimizer\Helper\Data $helper, \Magento\Framework\Registry $registry, \Magento\GoogleOptimizer\Helper\Code $codeHelper, array $data=[])