Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AbstractTab.php
Go to the documentation of this file.
1 <?php
9 
10 abstract class AbstractTab extends \Magento\Backend\Block\Widget\Form implements
11  \Magento\Backend\Block\Widget\Tab\TabInterface
12 {
16  protected $_helperData;
17 
21  protected $_registry;
22 
26  protected $_codeHelper;
27 
31  protected $_formHelper;
32 
42  public function __construct(
43  \Magento\Backend\Block\Template\Context $context,
44  \Magento\GoogleOptimizer\Helper\Data $helperData,
45  \Magento\Framework\Registry $registry,
46  \Magento\GoogleOptimizer\Helper\Code $codeHelper,
47  \Magento\GoogleOptimizer\Helper\Form $formHelper,
48  \Magento\Framework\Data\FormFactory $formFactory,
49  array $data = []
50  ) {
51  parent::__construct($context, $data);
52 
53  $this->_helperData = $helperData;
54  $this->_registry = $registry;
55  $this->_codeHelper = $codeHelper;
56  $this->_formHelper = $formHelper;
57  $this->setForm($formFactory->create());
58  }
59 
65  protected function _prepareForm()
66  {
67  $this->_formHelper->addGoogleoptimizerFields($this->getForm(), $this->_getGoogleExperiment());
68  return parent::_prepareForm();
69  }
70 
76  protected function _getGoogleExperiment()
77  {
78  $entity = $this->_getEntity();
79  if ($entity->getId()) {
80  return $this->_codeHelper->getCodeObjectByEntity($entity);
81  }
82  return null;
83  }
84 
90  abstract protected function _getEntity();
91 
97  public function canShowTab()
98  {
99  return $this->_helperData->isGoogleExperimentActive();
100  }
101 
107  public function isHidden()
108  {
109  return false;
110  }
111 }
setForm(\Magento\Framework\Data\Form $form)
Definition: Form.php:112
__construct(\Magento\Backend\Block\Template\Context $context, \Magento\GoogleOptimizer\Helper\Data $helperData, \Magento\Framework\Registry $registry, \Magento\GoogleOptimizer\Helper\Code $codeHelper, \Magento\GoogleOptimizer\Helper\Form $formHelper, \Magento\Framework\Data\FormFactory $formFactory, array $data=[])
Definition: AbstractTab.php:42
$entity
Definition: element.phtml:22