| Current Path : /home/rtorresani/www/vendor/magento/module-google-optimizer/Block/Adminhtml/ |
| Current File : //home/rtorresani/www/vendor/magento/module-google-optimizer/Block/Adminhtml/AbstractTab.php |
<?php
/**
* Abstract Google Experiment Tab
*
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\GoogleOptimizer\Block\Adminhtml;
abstract class AbstractTab extends \Magento\Backend\Block\Widget\Form implements
\Magento\Backend\Block\Widget\Tab\TabInterface
{
/**
* @var \Magento\GoogleOptimizer\Helper\Data
*/
protected $_helperData;
/**
* @var \Magento\Framework\Registry
*/
protected $_registry;
/**
* @var \Magento\GoogleOptimizer\Helper\Code
*/
protected $_codeHelper;
/**
* @var \Magento\GoogleOptimizer\Helper\Form
*/
protected $_formHelper;
/**
* @param \Magento\Backend\Block\Template\Context $context
* @param \Magento\GoogleOptimizer\Helper\Data $helperData
* @param \Magento\Framework\Registry $registry
* @param \Magento\GoogleOptimizer\Helper\Code $codeHelper
* @param \Magento\GoogleOptimizer\Helper\Form $formHelper
* @param \Magento\Framework\Data\FormFactory $formFactory
* @param array $data
*/
public function __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 = []
) {
parent::__construct($context, $data);
$this->_helperData = $helperData;
$this->_registry = $registry;
$this->_codeHelper = $codeHelper;
$this->_formHelper = $formHelper;
$this->setForm($formFactory->create());
}
/**
* Prepare form before rendering HTML
*
* @return \Magento\Backend\Block\Widget\Form
*/
protected function _prepareForm()
{
$this->_formHelper->addGoogleoptimizerFields($this->getForm(), $this->_getGoogleExperiment());
return parent::_prepareForm();
}
/**
* Get google experiment code model
*
* @return \Magento\GoogleOptimizer\Model\Code|null
*/
protected function _getGoogleExperiment()
{
$entity = $this->_getEntity();
if ($entity->getId()) {
return $this->_codeHelper->getCodeObjectByEntity($entity);
}
return null;
}
/**
* Get Entity model
*
* @return \Magento\Catalog\Model\AbstractModel
*/
abstract protected function _getEntity();
/**
* Can show tab in tabs
*
* @return bool
*/
public function canShowTab()
{
return $this->_helperData->isGoogleExperimentActive();
}
/**
* Tab is hidden
*
* @return bool
*/
public function isHidden()
{
return false;
}
}