Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Regexceptions.php
Go to the documentation of this file.
1 <?php
7 
12 class Regexceptions extends \Magento\Config\Block\System\Config\Form\Field\FieldArray\AbstractFieldArray
13 {
17  protected $_elementFactory;
18 
22  protected $_labelFactory;
23 
30  public function __construct(
31  \Magento\Backend\Block\Template\Context $context,
32  \Magento\Framework\Data\Form\Element\Factory $elementFactory,
33  \Magento\Framework\View\Design\Theme\LabelFactory $labelFactory,
34  array $data = []
35  ) {
36  $this->_elementFactory = $elementFactory;
37  $this->_labelFactory = $labelFactory;
38  parent::__construct($context, $data);
39  }
40 
46  protected function _construct()
47  {
48  $this->addColumn('search', ['label' => __('Search String')]);
49  $this->addColumn('value', ['label' => __('Design Theme')]);
50  $this->_addAfter = false;
51  $this->_addButtonLabel = __('Add \Exception');
52  parent::_construct();
53  }
54 
61  public function renderCellTemplate($columnName)
62  {
63  if ($columnName == 'value' && isset($this->_columns[$columnName])) {
65  $label = $this->_labelFactory->create();
66  $options = $label->getLabelsCollection(__('-- No Theme --'));
67  $element = $this->_elementFactory->create('select');
68  $element->setForm(
69  $this->getForm()
70  )->setName(
71  $this->_getCellInputElementName($columnName)
72  )->setHtmlId(
73  $this->_getCellInputElementId('<%- _id %>', $columnName)
74  )->setValues(
75  $options
76  );
77  return str_replace("\n", '', $element->getElementHtml());
78  }
79 
80  return parent::renderCellTemplate($columnName);
81  }
82 }
__construct(\Magento\Backend\Block\Template\Context $context, \Magento\Framework\Data\Form\Element\Factory $elementFactory, \Magento\Framework\View\Design\Theme\LabelFactory $labelFactory, array $data=[])
__()
Definition: __.php:13
$label
Definition: details.phtml:21
$element
Definition: element.phtml:12