Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Additional.php
Go to the documentation of this file.
1 <?php
7 
15 class Additional extends \Magento\Backend\Block\Widget\Form\Generic
16 {
21 
29  public function __construct(
30  \Magento\Backend\Block\Template\Context $context,
31  \Magento\Framework\Registry $registry,
32  \Magento\Framework\Data\FormFactory $formFactory,
33  \Magento\Framework\View\Layout\Argument\Interpreter\Options $optionsInterpreter,
34  array $data = []
35  ) {
36  parent::__construct($context, $registry, $formFactory, $data);
37  $this->_optionsInterpreter = $optionsInterpreter;
38  }
39 
45  protected function _prepareForm()
46  {
48  $form = $this->_formFactory->create();
49  foreach ($this->getData('fields') as $itemId => $item) {
50  $this->_prepareFormItem($item);
51  $form->addField($itemId, $item['type'], $item);
52  }
53  $this->setForm($form);
54  return $this;
55  }
56 
63  protected function _prepareFormItem(array &$item)
64  {
65  if ($item['type'] == 'select' && is_string($item['values'])) {
66  $modelClass = $item['values'];
67  $item['values'] = $this->_optionsInterpreter->evaluate(['model' => $modelClass]);
68  }
69  $item['class'] = isset($item['class']) ? $item['class'] . ' absolute-advice' : 'absolute-advice';
70  }
71 }
getData($key='', $index=null)
Definition: DataObject.php:119
setForm(\Magento\Framework\Data\Form $form)
Definition: Form.php:112
__construct(\Magento\Backend\Block\Template\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Data\FormFactory $formFactory, \Magento\Framework\View\Layout\Argument\Interpreter\Options $optionsInterpreter, array $data=[])
Definition: Additional.php:29