Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
GoogleoptimizerForm.php
Go to the documentation of this file.
1 <?php
9 
14 {
18  protected $_registry;
19 
23  protected $_codeHelper;
24 
28  protected $_formHelper;
29 
38  public function __construct(
39  \Magento\Backend\Block\Template\Context $context,
40  \Magento\Framework\Registry $registry,
41  \Magento\Framework\Data\FormFactory $formFactory,
42  \Magento\GoogleOptimizer\Helper\Code $codeHelper,
43  \Magento\GoogleOptimizer\Helper\Form $formHelper,
44  array $data = []
45  ) {
46  parent::__construct($context, $registry, $formFactory, $data);
47 
48  $this->_codeHelper = $codeHelper;
49  $this->_formHelper = $formHelper;
50  $this->setForm($formFactory->create());
51  }
52 
58  protected function _prepareForm()
59  {
60  $this->_formHelper->addGoogleoptimizerFields($this->getForm(), $this->_getGoogleExperiment(), 'category_form');
61  $this->getForm()->getElement('googleoptimizer_fields')->setData(['legend' => null]);
62  return parent::_prepareForm();
63  }
64 
71  protected function _getGoogleExperiment()
72  {
73  $category = $this->_getCategory();
74  if ($category->getId()) {
75  return $this->_codeHelper->getCodeObjectByEntity($category);
76  }
77  return null;
78  }
79 
86  protected function _getCategory()
87  {
88  $entity = $this->_coreRegistry->registry('current_category');
89  if (!$entity) {
90  throw new \RuntimeException('Entity is not found in registry.');
91  }
92  return $entity;
93  }
94 }
setForm(\Magento\Framework\Data\Form $form)
Definition: Form.php:112
__construct(\Magento\Backend\Block\Template\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Data\FormFactory $formFactory, \Magento\GoogleOptimizer\Helper\Code $codeHelper, \Magento\GoogleOptimizer\Helper\Form $formHelper, array $data=[])
$entity
Definition: element.phtml:22