Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
All Data Structures Namespaces Files Functions Variables Pages
UrlKeyRenderer.php
Go to the documentation of this file.
1 <?php
7 
9 
14 class UrlKeyRenderer extends \Magento\Catalog\Block\Adminhtml\Form\Renderer\Fieldset\Element
15 {
16  const XML_PATH_SEO_SAVE_HISTORY = 'catalog/seo/save_rewrites_history';
17 
21  protected $_elementFactory;
22 
28  public function __construct(
29  \Magento\Backend\Block\Template\Context $context,
30  \Magento\Framework\Data\Form\Element\Factory $elementFactory,
31  array $data = []
32  ) {
33  $this->_elementFactory = $elementFactory;
34  parent::__construct($context, $data);
35  }
36 
40  public function getElementHtml()
41  {
43  $element = $this->getElement();
44  if (!$element->getValue()) {
45  return parent::getElementHtml();
46  }
47  $element->setOnkeyup("onUrlkeyChanged('" . $element->getHtmlId() . "')");
48  $element->setOnchange("onUrlkeyChanged('" . $element->getHtmlId() . "')");
49 
50  $data = ['name' => $element->getData('name') . '_create_redirect', 'disabled' => true];
52  $hidden = $this->_elementFactory->create('hidden', ['data' => $data]);
53  $hidden->setForm($element->getForm());
54 
55  $storeId = $element->getForm()->getDataObject()->getStoreId();
56  $data['html_id'] = $element->getHtmlId() . '_create_redirect';
57  $data['label'] = __('Create Permanent Redirect for old URL');
58  $data['value'] = $element->getValue();
59  $data['checked'] = $this->_scopeConfig->isSetFlag(
60  self::XML_PATH_SEO_SAVE_HISTORY,
62  $storeId
63  );
65  $checkbox = $this->_elementFactory->create('checkbox', ['data' => $data]);
66  $checkbox->setForm($element->getForm());
67 
68  return parent::getElementHtml() . '<br/>' . $hidden->getElementHtml() . $checkbox->getElementHtml()
69  . $checkbox->getLabelHtml();
70  }
71 }
__()
Definition: __.php:13
__construct(\Magento\Backend\Block\Template\Context $context, \Magento\Framework\Data\Form\Element\Factory $elementFactory, array $data=[])
$element
Definition: element.phtml:12