| Current Path : /home/rtorresani/www/vendor/magento/module-catalog-url-rewrite/Block/ |
| Current File : //home/rtorresani/www/vendor/magento/module-catalog-url-rewrite/Block/UrlKeyRenderer.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\CatalogUrlRewrite\Block;
use Magento\Store\Model\ScopeInterface;
/**
* Renderer for URL key input
* Allows to manage and overwrite URL Rewrites History save settings
*/
class UrlKeyRenderer extends \Magento\Catalog\Block\Adminhtml\Form\Renderer\Fieldset\Element
{
const XML_PATH_SEO_SAVE_HISTORY = 'catalog/seo/save_rewrites_history';
/**
* @var \Magento\Framework\Data\Form\Element\Factory
*/
protected $_elementFactory;
/**
* @param \Magento\Backend\Block\Template\Context $context
* @param \Magento\Framework\Data\Form\Element\Factory $elementFactory
* @param array $data
*/
public function __construct(
\Magento\Backend\Block\Template\Context $context,
\Magento\Framework\Data\Form\Element\Factory $elementFactory,
array $data = []
) {
$this->_elementFactory = $elementFactory;
parent::__construct($context, $data);
}
/**
* @return string
*/
public function getElementHtml()
{
/** @var \Magento\Framework\Data\Form\Element\AbstractElement $element */
$element = $this->getElement();
if (!$element->getValue()) {
return parent::getElementHtml();
}
$element->setOnkeyup("onUrlkeyChanged('" . $element->getHtmlId() . "')");
$element->setOnchange("onUrlkeyChanged('" . $element->getHtmlId() . "')");
$data = ['name' => $element->getData('name') . '_create_redirect', 'disabled' => true];
/** @var \Magento\Framework\Data\Form\Element\Hidden $hidden */
$hidden = $this->_elementFactory->create('hidden', ['data' => $data]);
$hidden->setForm($element->getForm());
$storeId = $element->getForm()->getDataObject()->getStoreId();
$data['html_id'] = $element->getHtmlId() . '_create_redirect';
$data['label'] = __('Create Permanent Redirect for old URL');
$data['value'] = $element->getValue();
$data['checked'] = $this->_scopeConfig->isSetFlag(
self::XML_PATH_SEO_SAVE_HISTORY,
ScopeInterface::SCOPE_STORE,
$storeId
);
/** @var \Magento\Framework\Data\Form\Element\Checkbox $checkbox */
$checkbox = $this->_elementFactory->create('checkbox', ['data' => $data]);
$checkbox->setForm($element->getForm());
return parent::getElementHtml() . '<br/>' . $hidden->getElementHtml() . $checkbox->getElementHtml()
. $checkbox->getLabelHtml();
}
}