Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Form.php
Go to the documentation of this file.
1 <?php
6 namespace Magento\Ui\Component;
7 
11 
16 class Form extends AbstractComponent
17 {
18  const NAME = 'form';
19 
23  protected $filterBuilder;
24 
31  public function __construct(
34  array $components = [],
35  array $data = []
36  ) {
37  $this->filterBuilder = $filterBuilder;
38  parent::__construct(
39  $context,
41  $data
42  );
43  }
44 
50  public function getComponentName()
51  {
52  return static::NAME;
53  }
54 
58  public function getDataSourceData()
59  {
60  $dataSource = [];
61 
62  $id = $this->getContext()->getRequestParam($this->getContext()->getDataProvider()->getRequestFieldName(), null);
63  $filter = $this->filterBuilder->setField($this->getContext()->getDataProvider()->getPrimaryFieldName())
64  ->setValue($id)
65  ->create();
66  $this->getContext()->getDataProvider()
67  ->addFilter($filter);
68 
69  $data = $this->getContext()->getDataProvider()->getData();
70 
71  if (isset($data[$id])) {
72  $dataSource = [
73  'data' => $data[$id]
74  ];
75  } elseif (isset($data['items'])) {
76  foreach ($data['items'] as $item) {
77  if ($item[$item['id_field_name']] == $id) {
78  $dataSource = ['data' => ['general' => $item]];
79  }
80  }
81  }
82  return $dataSource;
83  }
84 }
elseif(isset( $params[ 'redirect_parent']))
Definition: iframe.phtml:17
$id
Definition: fieldset.phtml:14
__construct(ContextInterface $context, FilterBuilder $filterBuilder, array $components=[], array $data=[])
Definition: Form.php:31