| Current Path : /var/www/clients/client3/web2/web/vendor/magento/module-variable/Block/System/Variable/ |
| Current File : /var/www/clients/client3/web2/web/vendor/magento/module-variable/Block/System/Variable/Edit.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Variable\Block\System\Variable;
/**
* Custom Variable Edit Container
*
* @api
* @since 100.0.2
*/
class Edit extends \Magento\Backend\Block\Widget\Form\Container
{
/**
* Core registry
*
* @var \Magento\Framework\Registry
*/
protected $_coreRegistry = null;
/**
* @param \Magento\Backend\Block\Widget\Context $context
* @param \Magento\Framework\Registry $registry
* @param array $data
*/
public function __construct(
\Magento\Backend\Block\Widget\Context $context,
\Magento\Framework\Registry $registry,
array $data = []
) {
$this->_coreRegistry = $registry;
parent::__construct($context, $data);
}
/**
* Internal constructor
*
* @return void
*/
protected function _construct()
{
$this->_objectId = 'variable_id';
$this->_blockGroup = 'Magento_Variable';
$this->_controller = 'system_variable';
parent::_construct();
}
/**
* Getter
*
* @return \Magento\Variable\Model\Variable
*/
public function getVariable()
{
return $this->_coreRegistry->registry('current_variable');
}
/**
* Prepare layout.
* Adding save_and_continue button
*
* @return $this
*/
protected function _preparelayout()
{
$this->addButton(
'save_and_edit',
[
'label' => __('Save and Continue Edit'),
'class' => 'save',
'data_attribute' => [
'mage-init' => ['button' => ['event' => 'saveAndContinueEdit', 'target' => '#edit_form']],
]
],
100
);
if (!$this->getVariable()->getId()) {
$this->removeButton('delete');
}
return parent::_prepareLayout();
}
/**
* Return form HTML
*
* @return string
*/
public function getFormHtml()
{
return parent::getFormHtml();
}
/**
* Return translated header text depending on creating/editing action
*
* @return \Magento\Framework\Phrase
*/
public function getHeaderText()
{
if ($this->getVariable()->getId()) {
return __('Custom Variable "%1"', $this->escapeHtml($this->getVariable()->getName()));
} else {
return __('New Custom Variable');
}
}
/**
* Return validation url for edit form
*
* @return string
*/
public function getValidationUrl()
{
return $this->getUrl('adminhtml/*/validate', ['_current' => true]);
}
/**
* Return save url for edit form
*
* @return string
*/
public function getSaveUrl()
{
return $this->getUrl('adminhtml/*/save', ['_current' => true, 'back' => null]);
}
/**
* Return save and continue url for edit form
*
* @return string
*/
public function getSaveAndContinueUrl()
{
return $this->getUrl('adminhtml/*/save', ['_current' => true, 'back' => 'edit']);
}
}