Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
Form Class Reference
Inheritance diagram for Form:
AbstractForm DataObject Form

Public Member Functions

 __construct (Factory $factoryElement, ElementCollectionFactory $factoryCollection, FormKey $formKey, $data=[])
 
 getHtmlAttributes ()
 
 addElement (AbstractElement $element, $after=false)
 
 addElementToCollection ($element)
 
 checkElementId ($elementId)
 
 getForm ()
 
 getElement ($elementId)
 
 setValues ($values)
 
 addValues ($values)
 
 addFieldNameSuffix ($suffix)
 
 addSuffixToName ($name, $suffix)
 
 removeField ($elementId)
 
 setFieldContainerIdPrefix ($prefix)
 
 getFieldContainerIdPrefix ()
 
 toHtml ()
 
 getHtml ()
 
- Public Member Functions inherited from AbstractForm
 __construct (Factory $factoryElement, CollectionFactory $factoryCollection, $data=[])
 
 addType ($type, $className)
 
 getElements ()
 
 setReadonly ($readonly, $useDisabled=false)
 
 addElement (AbstractElement $element, $after=null)
 
 addField ($elementId, $type, $config, $after=false)
 
 removeField ($elementId)
 
 addFieldset ($elementId, $config, $after=false, $isAdvanced=false)
 
 addColumn ($elementId, $config)
 
 convertToArray (array $arrAttributes=[])
 
 addCustomAttribute ($key, $value)
 
 serialize ($keys=[], $valueSeparator='=', $fieldSeparator=' ', $quote='"')
 
- Public Member Functions inherited from DataObject
 __construct (array $data=[])
 
 addData (array $arr)
 
 setData ($key, $value=null)
 
 unsetData ($key=null)
 
 getData ($key='', $index=null)
 
 getDataByPath ($path)
 
 getDataByKey ($key)
 
 setDataUsingMethod ($key, $args=[])
 
 getDataUsingMethod ($key, $args=null)
 
 hasData ($key='')
 
 toArray (array $keys=[])
 
 convertToArray (array $keys=[])
 
 toXml (array $keys=[], $rootName='item', $addOpenTag=false, $addCdata=true)
 
 convertToXml (array $arrAttributes=[], $rootName='item', $addOpenTag=false, $addCdata=true)
 
 toJson (array $keys=[])
 
 convertToJson (array $keys=[])
 
 toString ($format='')
 
 __call ($method, $args)
 
 isEmpty ()
 
 serialize ($keys=[], $valueSeparator='=', $fieldSeparator=' ', $quote='"')
 
 debug ($data=null, &$objects=[])
 
 offsetSet ($offset, $value)
 
 offsetExists ($offset)
 
 offsetUnset ($offset)
 
 offsetGet ($offset)
 

Static Public Member Functions

static setElementRenderer (RendererInterface $renderer=null)
 
static setFieldsetRenderer (RendererInterface $renderer=null)
 
static setFieldsetElementRenderer (RendererInterface $renderer=null)
 
static getElementRenderer ()
 
static getFieldsetRenderer ()
 
static getFieldsetElementRenderer ()
 

Protected Member Functions

 _elementIdExists ($elementId)
 
- Protected Member Functions inherited from AbstractForm
 _construct ()
 
- Protected Member Functions inherited from DataObject
 _getData ($key)
 
 _underscore ($name)
 

Protected Attributes

 $_allElements
 
 $_elementsIndex
 
 $formKey
 
- Protected Attributes inherited from AbstractForm
 $_elements
 
 $_types = []
 
 $_factoryElement
 
 $_factoryCollection
 
 $customAttributes = []
 
- Protected Attributes inherited from DataObject
 $_data = []
 

Static Protected Attributes

static $_defaultElementRenderer
 
static $_defaultFieldsetRenderer
 
static $_defaultFieldsetElementRenderer
 
- Static Protected Attributes inherited from DataObject
static $_underscoreCache = []
 

Detailed Description

@api

Since
100.0.2

Definition at line 21 of file Form.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( Factory  $factoryElement,
ElementCollectionFactory  $factoryCollection,
FormKey  $formKey,
  $data = [] 
)
Parameters
Factory$factoryElement
ElementCollectionFactory$factoryCollection
FormKey$formKey
array$data

Definition at line 63 of file Form.php.

68  {
69  parent::__construct($factoryElement, $factoryCollection, $data);
70  $this->_allElements = $this->_factoryCollection->create(['container' => $this]);
71  $this->formKey = $formKey;
72  }

Member Function Documentation

◆ _elementIdExists()

_elementIdExists (   $elementId)
protected

Check existing element

Parameters
string$elementId
Returns
bool

Definition at line 156 of file Form.php.

157  {
158  return isset($this->_elementsIndex[$elementId]);
159  }

◆ addElement()

addElement ( AbstractElement  $element,
  $after = false 
)

Add form element

Parameters
AbstractElement$element
bool$after
Returns
$this

Definition at line 142 of file Form.php.

143  {
144  $this->checkElementId($element->getId());
145  parent::addElement($element, $after);
147  return $this;
148  }
checkElementId($elementId)
Definition: Form.php:177
addElementToCollection($element)
Definition: Form.php:165
$element
Definition: element.phtml:12

◆ addElementToCollection()

addElementToCollection (   $element)
Parameters
AbstractElement$element
Returns
$this

Definition at line 165 of file Form.php.

166  {
167  $this->_elementsIndex[$element->getId()] = $element;
168  $this->_allElements->add($element);
169  return $this;
170  }
$element
Definition: element.phtml:12

◆ addFieldNameSuffix()

addFieldNameSuffix (   $suffix)

Add suffix to name of all elements

Parameters
string$suffix
Returns
$this

Definition at line 249 of file Form.php.

250  {
251  foreach ($this->_allElements as $element) {
252  $name = $element->getName();
253  if ($name) {
254  $element->setName($this->addSuffixToName($name, $suffix));
255  }
256  }
257  return $this;
258  }
$suffix
Definition: name.phtml:27
addSuffixToName($name, $suffix)
Definition: Form.php:265
if(!isset($_GET['name'])) $name
Definition: log.php:14
$element
Definition: element.phtml:12

◆ addSuffixToName()

addSuffixToName (   $name,
  $suffix 
)
Parameters
string$name
string$suffix
Returns
string

Definition at line 265 of file Form.php.

266  {
267  if (!$name) {
268  return $suffix;
269  }
270  $vars = explode('[', $name);
271  $newName = $suffix;
272  foreach ($vars as $index => $value) {
273  $newName .= '[' . $value;
274  if ($index == 0) {
275  $newName .= ']';
276  }
277  }
278  return $newName;
279  }
$suffix
Definition: name.phtml:27
$value
Definition: gender.phtml:16
$index
Definition: list.phtml:44
if(!isset($_GET['name'])) $name
Definition: log.php:14

◆ addValues()

addValues (   $values)
Parameters
array$values
Returns
$this

Definition at line 229 of file Form.php.

230  {
231  if (!is_array($values)) {
232  return $this;
233  }
234  foreach ($values as $elementId => $value) {
235  $element = $this->getElement($elementId);
236  if ($element) {
237  $element->setValue($value);
238  }
239  }
240  return $this;
241  }
getElement($elementId)
Definition: Form.php:201
$values
Definition: options.phtml:88
$value
Definition: gender.phtml:16
$element
Definition: element.phtml:12

◆ checkElementId()

checkElementId (   $elementId)
Parameters
string$elementId
Returns
bool
Exceptions

Definition at line 177 of file Form.php.

178  {
179  if ($this->_elementIdExists($elementId)) {
180  throw new \InvalidArgumentException(
181  'An element with a "' . $elementId . '" ID already exists.'
182  );
183  }
184  return true;
185  }
_elementIdExists($elementId)
Definition: Form.php:156

◆ getElement()

getElement (   $elementId)

Retrieve form element by id

Parameters
string$elementId
Returns
null|AbstractElement

Definition at line 201 of file Form.php.

202  {
203  if ($this->_elementIdExists($elementId)) {
204  return $this->_elementsIndex[$elementId];
205  }
206  return null;
207  }
_elementIdExists($elementId)
Definition: Form.php:156

◆ getElementRenderer()

static getElementRenderer ( )
static
Returns
RendererInterface

Definition at line 104 of file Form.php.

105  {
107  }
static $_defaultElementRenderer
Definition: Form.php:45

◆ getFieldContainerIdPrefix()

getFieldContainerIdPrefix ( )
Returns
string

Definition at line 306 of file Form.php.

307  {
308  return $this->getData('field_container_id_prefix');
309  }
getData($key='', $index=null)
Definition: DataObject.php:119

◆ getFieldsetElementRenderer()

static getFieldsetElementRenderer ( )
static
Returns
RendererInterface

Definition at line 120 of file Form.php.

121  {
123  }
static $_defaultFieldsetElementRenderer
Definition: Form.php:55

◆ getFieldsetRenderer()

static getFieldsetRenderer ( )
static
Returns
RendererInterface

Definition at line 112 of file Form.php.

113  {
115  }
static $_defaultFieldsetRenderer
Definition: Form.php:50

◆ getForm()

getForm ( )
Returns
$this

Definition at line 190 of file Form.php.

191  {
192  return $this;
193  }

◆ getHtml()

getHtml ( )
Returns
string

Definition at line 342 of file Form.php.

343  {
344  return $this->toHtml();
345  }

◆ getHtmlAttributes()

getHtmlAttributes ( )

Return allowed HTML form attributes

Returns
string[]

Definition at line 130 of file Form.php.

131  {
132  return ['id', 'name', 'method', 'action', 'enctype', 'class', 'onsubmit', 'target'];
133  }

◆ removeField()

removeField (   $elementId)
Parameters
string$elementId
Returns
$this

Definition at line 285 of file Form.php.

286  {
287  if ($this->_elementIdExists($elementId)) {
288  unset($this->_elementsIndex[$elementId]);
289  }
290  return $this;
291  }
_elementIdExists($elementId)
Definition: Form.php:156

◆ setElementRenderer()

static setElementRenderer ( RendererInterface  $renderer = null)
static
Parameters
RendererInterface$renderer
Returns
void

Definition at line 78 of file Form.php.

79  {
80  self::$_defaultElementRenderer = $renderer;
81  }

◆ setFieldContainerIdPrefix()

setFieldContainerIdPrefix (   $prefix)
Parameters
string$prefix
Returns
$this

Definition at line 297 of file Form.php.

298  {
299  $this->setData('field_container_id_prefix', $prefix);
300  return $this;
301  }
$prefix
Definition: name.phtml:25
setData($key, $value=null)
Definition: DataObject.php:72

◆ setFieldsetElementRenderer()

static setFieldsetElementRenderer ( RendererInterface  $renderer = null)
static
Parameters
RendererInterface$renderer
Returns
void

Definition at line 96 of file Form.php.

97  {
98  self::$_defaultFieldsetElementRenderer = $renderer;
99  }

◆ setFieldsetRenderer()

static setFieldsetRenderer ( RendererInterface  $renderer = null)
static
Parameters
RendererInterface$renderer
Returns
void

Definition at line 87 of file Form.php.

88  {
89  self::$_defaultFieldsetRenderer = $renderer;
90  }

◆ setValues()

setValues (   $values)
Parameters
array$values
Returns
$this

Definition at line 213 of file Form.php.

214  {
215  foreach ($this->_allElements as $element) {
216  if (isset($values[$element->getId()])) {
217  $element->setValue($values[$element->getId()]);
218  } else {
219  $element->setValue(null);
220  }
221  }
222  return $this;
223  }
$values
Definition: options.phtml:88
$element
Definition: element.phtml:12

◆ toHtml()

toHtml ( )
Returns
string

Definition at line 314 of file Form.php.

315  {
316  Profiler::start('form/toHtml');
317  $html = '';
318  $useContainer = $this->getUseContainer();
319  if ($useContainer) {
320  $html .= '<form ' . $this->serialize($this->getHtmlAttributes()) . '>';
321  $html .= '<div>';
322  if (strtolower($this->getData('method')) == 'post') {
323  $html .= '<input name="form_key" type="hidden" value="' . $this->formKey->getFormKey() . '" />';
324  }
325  $html .= '</div>';
326  }
327 
328  foreach ($this->getElements() as $element) {
329  $html .= $element->toHtml();
330  }
331 
332  if ($useContainer) {
333  $html .= '</form>';
334  }
335  Profiler::stop('form/toHtml');
336  return $html;
337  }
getData($key='', $index=null)
Definition: DataObject.php:119
serialize($keys=[], $valueSeparator='=', $fieldSeparator=' ', $quote='"')
$element
Definition: element.phtml:12

Field Documentation

◆ $_allElements

$_allElements
protected

Definition at line 28 of file Form.php.

◆ $_defaultElementRenderer

$_defaultElementRenderer
staticprotected

Definition at line 45 of file Form.php.

◆ $_defaultFieldsetElementRenderer

$_defaultFieldsetElementRenderer
staticprotected

Definition at line 55 of file Form.php.

◆ $_defaultFieldsetRenderer

$_defaultFieldsetRenderer
staticprotected

Definition at line 50 of file Form.php.

◆ $_elementsIndex

$_elementsIndex
protected

Definition at line 35 of file Form.php.

◆ $formKey

$formKey
protected

Definition at line 40 of file Form.php.


The documentation for this class was generated from the following file: