Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Member Functions | Protected Attributes
AbstractElement Class Reference
Inheritance diagram for AbstractElement:
AbstractForm DataObject File Button Checkbox Checkboxes Column Date Fieldset File Gallery Hidden Image Imagefile Label Link Multiline Multiselect Note Password Radio Radios Reset Select Submit Text Textarea Time Export Import Links Tax

Public Member Functions

 __construct (Factory $factoryElement, CollectionFactory $factoryCollection, Escaper $escaper, $data=[])
 
 addElement (AbstractElement $element, $after=false)
 
 isAdvanced ()
 
 setAdvanced ($advanced)
 
 getId ()
 
 getType ()
 
 getForm ()
 
 setId ($id)
 
 getHtmlId ()
 
 getName ()
 
 setType ($type)
 
 setForm ($form)
 
 removeField ($elementId)
 
 getHtmlAttributes ()
 
 addClass ($class)
 
 removeClass ($class)
 
 getEscapedValue ($index=null)
 
 setRenderer (RendererInterface $renderer)
 
 getRenderer ()
 
 getElementHtml ()
 
 getBeforeElementHtml ()
 
 getAfterElementHtml ()
 
 getAfterElementJs ()
 
 getLabelHtml ($idSuffix='', $scopeLabel='')
 
 getDefaultHtml ()
 
 getHtml ()
 
 toHtml ()
 
 serialize ($attributes=[], $valueSeparator='=', $fieldSeparator=' ', $quote='"')
 
 getReadonly ()
 
 getHtmlContainerId ()
 
 addElementValues ($values, $overwrite=false)
 
 lock ()
 
 isLocked ()
 
- 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)
 

Protected Member Functions

 _escape ($string)
 
 _getUiId ($suffix=null)
 
- Protected Member Functions inherited from AbstractForm
 _construct ()
 
- Protected Member Functions inherited from DataObject
 _getData ($key)
 
 _underscore ($name)
 

Protected Attributes

 $_id
 
 $_type
 
 $_form
 
 $_elements
 
 $_renderer
 
 $_advanced = false
 
 $_escaper
 
- Protected Attributes inherited from AbstractForm
 $_elements
 
 $_types = []
 
 $_factoryElement
 
 $_factoryCollection
 
 $customAttributes = []
 
- Protected Attributes inherited from DataObject
 $_data = []
 

Additional Inherited Members

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

Detailed Description

Data form abstract class

@api

Author
Magento Core Team core@.nosp@m.mage.nosp@m.ntoco.nosp@m.mmer.nosp@m.ce.co.nosp@m.m @SuppressWarnings(PHPMD.NumberOfChildren)
Since
100.0.2

Definition at line 21 of file AbstractElement.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( Factory  $factoryElement,
CollectionFactory  $factoryCollection,
Escaper  $escaper,
  $data = [] 
)
Parameters
Factory$factoryElement
CollectionFactory$factoryCollection
Escaper$escaper
array$data

Definition at line 73 of file AbstractElement.php.

78  {
79  $this->_escaper = $escaper;
80  parent::__construct($factoryElement, $factoryCollection, $data);
82  }
static getElementRenderer()
Definition: Form.php:104

Member Function Documentation

◆ _escape()

_escape (   $string)
protected

Escape a string's contents.

Parameters
string$string
Returns
string

Definition at line 286 of file AbstractElement.php.

287  {
288  return htmlspecialchars($string, ENT_COMPAT);
289  }

◆ _getUiId()

_getUiId (   $suffix = null)
protected
Parameters
null | string$suffix
Returns
string

Definition at line 333 of file AbstractElement.php.

334  {
335  if ($this->_renderer instanceof \Magento\Framework\View\Element\AbstractBlock) {
336  return $this->_renderer->getUiId($this->getType(), $this->getName(), $suffix);
337  } else {
338  return ' data-ui-id="form-element-' . $this->getName() . ($suffix ?: '') . '"';
339  }
340  }
$suffix
Definition: name.phtml:27

◆ addClass()

addClass (   $class)

Add a class.

Parameters
string$class
Returns
$this

Definition at line 257 of file AbstractElement.php.

258  {
259  $oldClass = $this->getClass();
260  $this->setClass($oldClass . ' ' . $class);
261  return $this;
262  }
$_option $_optionId $class
Definition: date.phtml:13

◆ addElement()

addElement ( AbstractElement  $element,
  $after = false 
)

Add form element

Parameters
AbstractElement$element
bool$after
Returns
Form

Definition at line 91 of file AbstractElement.php.

92  {
93  if ($this->getForm()) {
94  $this->getForm()->checkElementId($element->getId());
95  $this->getForm()->addElementToCollection($element);
96  }
97 
98  parent::addElement($element, $after);
99  return $this;
100  }
$element
Definition: element.phtml:12

◆ addElementValues()

addElementValues (   $values,
  $overwrite = false 
)

Add specified values to element values

Parameters
string | int | array$values
bool$overwrite
Returns
$this @SuppressWarnings(PHPMD.CyclomaticComplexity)

Definition at line 541 of file AbstractElement.php.

542  {
543  if (empty($values) || is_string($values) && trim($values) == '') {
544  return $this;
545  }
546  if (!is_array($values)) {
547  $values = $this->_escaper->escapeHtml(trim($values));
548  $values = [$values => $values];
549  }
550  $elementValues = $this->getValues();
551  if (!empty($elementValues)) {
552  foreach ($values as $key => $value) {
553  if (isset($elementValues[$key]) && $overwrite || !isset($elementValues[$key])) {
554  $elementValues[$key] = $this->_escaper->escapeHtml($value);
555  }
556  }
557  $values = $elementValues;
558  }
559  $this->setValues($values);
560 
561  return $this;
562  }
$values
Definition: options.phtml:88
$value
Definition: gender.phtml:16

◆ getAfterElementHtml()

getAfterElementHtml ( )

Get the after element html.

Returns
mixed

Definition at line 393 of file AbstractElement.php.

394  {
395  return $this->getData('after_element_html');
396  }
getData($key='', $index=null)
Definition: DataObject.php:119

◆ getAfterElementJs()

getAfterElementJs ( )

Get the after element Javascript.

Returns
mixed

Definition at line 403 of file AbstractElement.php.

404  {
405  return $this->getData('after_element_js');
406  }
getData($key='', $index=null)
Definition: DataObject.php:119

◆ getBeforeElementHtml()

getBeforeElementHtml ( )

Get the before element html.

Returns
mixed

Definition at line 383 of file AbstractElement.php.

384  {
385  return $this->getData('before_element_html');
386  }
getData($key='', $index=null)
Definition: DataObject.php:119

◆ getDefaultHtml()

getDefaultHtml ( )

Get the default html.

Returns
mixed

Definition at line 437 of file AbstractElement.php.

438  {
439  $html = $this->getData('default_html');
440  if ($html === null) {
441  $html = $this->getNoSpan() === true ? '' : '<div class="admin__field">' . "\n";
442  $html .= $this->getLabelHtml();
443  $html .= $this->getElementHtml();
444  $html .= $this->getNoSpan() === true ? '' : '</div>' . "\n";
445  }
446  return $html;
447  }
getData($key='', $index=null)
Definition: DataObject.php:119

◆ getElementHtml()

getElementHtml ( )

Get the Html for the element.

Returns
string

Definition at line 347 of file AbstractElement.php.

348  {
349  $html = '';
350  $htmlId = $this->getHtmlId();
351 
352  $beforeElementHtml = $this->getBeforeElementHtml();
353  if ($beforeElementHtml) {
354  $html .= '<label class="addbefore" for="' . $htmlId . '">' . $beforeElementHtml . '</label>';
355  }
356 
357  if (is_array($this->getValue())) {
358  foreach ($this->getValue() as $value) {
359  $html .= $this->getHtmlForInputByValue($this->_escape($value));
360  }
361  } else {
362  $html .= $this->getHtmlForInputByValue($this->getEscapedValue());
363  }
364 
365  $afterElementJs = $this->getAfterElementJs();
366  if ($afterElementJs) {
367  $html .= $afterElementJs;
368  }
369 
370  $afterElementHtml = $this->getAfterElementHtml();
371  if ($afterElementHtml) {
372  $html .= '<label class="addafter" for="' . $htmlId . '">' . $afterElementHtml . '</label>';
373  }
374 
375  return $html;
376  }
$value
Definition: gender.phtml:16

◆ getEscapedValue()

getEscapedValue (   $index = null)

Return the escaped value of the element specified by the given index.

Parameters
null | int | string$index
Returns
string

Definition at line 297 of file AbstractElement.php.

298  {
299  $value = $this->getValue($index);
300 
301  if ($filter = $this->getValueFilter()) {
302  $value = $filter->filter($value);
303  }
304  return $this->_escape($value);
305  }
$value
Definition: gender.phtml:16
$index
Definition: list.phtml:44

◆ getForm()

getForm ( )

Get form

Returns
Form

Definition at line 149 of file AbstractElement.php.

◆ getHtml()

getHtml ( )

Get the html.

Returns
mixed

Definition at line 454 of file AbstractElement.php.

455  {
456  if ($this->getRequired()) {
457  $this->addClass('required-entry _required');
458  }
459  if ($this->_renderer) {
460  $html = $this->_renderer->render($this);
461  } else {
462  $html = $this->getDefaultHtml();
463  }
464  return $html;
465  }

◆ getHtmlAttributes()

getHtmlAttributes ( )

Return the attributes for Html.

Returns
string[]

Definition at line 231 of file AbstractElement.php.

232  {
233  return [
234  'type',
235  'title',
236  'class',
237  'style',
238  'onclick',
239  'onchange',
240  'disabled',
241  'readonly',
242  'tabindex',
243  'placeholder',
244  'data-form-part',
245  'data-role',
246  'data-action',
247  'checked',
248  ];
249  }

◆ getHtmlContainerId()

getHtmlContainerId ( )

Get the container Id.

Returns
mixed

Definition at line 523 of file AbstractElement.php.

524  {
525  if ($this->hasData('container_id')) {
526  return $this->getData('container_id');
527  } elseif ($idPrefix = $this->getForm()->getFieldContainerIdPrefix()) {
528  return $idPrefix . $this->getId();
529  }
530  return '';
531  }
getData($key='', $index=null)
Definition: DataObject.php:119
elseif(isset( $params[ 'redirect_parent']))
Definition: iframe.phtml:17

◆ getHtmlId()

getHtmlId ( )

Get the Html Id.

Returns
string

Definition at line 172 of file AbstractElement.php.

173  {
174  return $this->getForm()->getHtmlIdPrefix() . $this->getData('html_id') . $this->getForm()->getHtmlIdSuffix();
175  }
getData($key='', $index=null)
Definition: DataObject.php:119

◆ getId()

getId ( )

Get id.

Returns
string|int

Definition at line 129 of file AbstractElement.php.

◆ getLabelHtml()

getLabelHtml (   $idSuffix = '',
  $scopeLabel = '' 
)

Render HTML for element's label

Parameters
string$idSuffix
string$scopeLabel
Returns
string

Definition at line 415 of file AbstractElement.php.

416  {
417  $scopeLabel = $scopeLabel ? ' data-config-scope="' . $scopeLabel . '"' : '';
418 
419  if ($this->getLabel() !== null) {
420  $html = '<label class="label admin__field-label" for="' .
421  $this->getHtmlId() . $idSuffix . '"' . $this->_getUiId(
422  'label'
423  ) . '><span' . $scopeLabel . '>' . $this->_escape(
424  $this->getLabel()
425  ) . '</span></label>' . "\n";
426  } else {
427  $html = '';
428  }
429  return $html;
430  }
$idSuffix

◆ getName()

getName ( )

Get the name.

Returns
mixed

Definition at line 182 of file AbstractElement.php.

183  {
184  $name = $this->getData('name');
185  if ($suffix = $this->getForm()->getFieldNameSuffix()) {
186  $name = $this->getForm()->addSuffixToName($name, $suffix);
187  }
188  return $name;
189  }
$suffix
Definition: name.phtml:27
getData($key='', $index=null)
Definition: DataObject.php:119
if(!isset($_GET['name'])) $name
Definition: log.php:14

◆ getReadonly()

getReadonly ( )

Indicates the elements readonly status.

Returns
mixed

Definition at line 509 of file AbstractElement.php.

510  {
511  if ($this->hasData('readonly_disabled')) {
512  return $this->_getData('readonly_disabled');
513  }
514 
515  return $this->_getData('readonly');
516  }

◆ getRenderer()

getRenderer ( )

Get the renderer.

Returns
RendererInterface

Definition at line 324 of file AbstractElement.php.

◆ getType()

getType ( )

Get type.

Returns
string

Definition at line 139 of file AbstractElement.php.

◆ isAdvanced()

isAdvanced ( )

Shows whether current element belongs to Basic or Advanced form layout

Returns
bool

Definition at line 107 of file AbstractElement.php.

◆ isLocked()

isLocked ( )

Is element locked

Returns
bool

Definition at line 579 of file AbstractElement.php.

580  {
581  return $this->getData($this->lockHtmlAttribute) == 1;
582  }
getData($key='', $index=null)
Definition: DataObject.php:119

◆ lock()

lock ( )

Lock element

Returns
void

Definition at line 569 of file AbstractElement.php.

570  {
571  $this->setData($this->lockHtmlAttribute, 1);
572  }
setData($key, $value=null)
Definition: DataObject.php:72

◆ removeClass()

removeClass (   $class)

Remove CSS class

Parameters
string$class
Returns
$this

Definition at line 270 of file AbstractElement.php.

271  {
272  $classes = array_unique(explode(' ', $this->getClass()));
273  if (false !== ($key = array_search($class, $classes))) {
274  unset($classes[$key]);
275  }
276  $this->setClass(implode(' ', $classes));
277  return $this;
278  }
$_option $_optionId $class
Definition: date.phtml:13

◆ removeField()

removeField (   $elementId)

Remove field

Parameters
string$elementId
Returns
AbstractForm

Definition at line 220 of file AbstractElement.php.

221  {
222  $this->getForm()->removeField($elementId);
223  return parent::removeField($elementId);
224  }

◆ serialize()

serialize (   $attributes = [],
  $valueSeparator = '=',
  $fieldSeparator = ' ',
  $quote = '"' 
)

Serialize the element.

Parameters
string[]$attributes
string$valueSeparator
string$fieldSeparator
string$quote
Returns
string

Definition at line 486 of file AbstractElement.php.

487  {
488  if ($this->isLocked() && !empty($attributes)) {
489  $attributes[] = $this->lockHtmlAttribute;
490  }
491  if (in_array('disabled', $attributes) && !empty($this->_data['disabled'])) {
492  $this->_data['disabled'] = 'disabled';
493  } else {
494  unset($this->_data['disabled']);
495  }
496  if (in_array('checked', $attributes) && !empty($this->_data['checked'])) {
497  $this->_data['checked'] = 'checked';
498  } else {
499  unset($this->_data['checked']);
500  }
501  return parent::serialize($attributes, $valueSeparator, $fieldSeparator, $quote);
502  }
$quote
$attributes
Definition: matrix.phtml:13

◆ setAdvanced()

setAdvanced (   $advanced)

Set _advanced layout property

Parameters
bool$advanced
Returns
$this

Definition at line 118 of file AbstractElement.php.

119  {
120  $this->_advanced = $advanced;
121  return $this;
122  }

◆ setForm()

setForm (   $form)
Parameters
AbstractForm$form
Returns
$this

Definition at line 208 of file AbstractElement.php.

209  {
210  $this->_form = $form;
211  return $this;
212  }

◆ setId()

setId (   $id)

Set the Id.

Parameters
string | int$id
Returns
$this

Definition at line 160 of file AbstractElement.php.

161  {
162  $this->_id = $id;
163  $this->setData('html_id', $id);
164  return $this;
165  }
$id
Definition: fieldset.phtml:14
setData($key, $value=null)
Definition: DataObject.php:72

◆ setRenderer()

setRenderer ( RendererInterface  $renderer)

Set the renderer.

Parameters
RendererInterface$renderer
Returns
$this

Definition at line 313 of file AbstractElement.php.

314  {
315  $this->_renderer = $renderer;
316  return $this;
317  }

◆ setType()

setType (   $type)

Set the type.

Parameters
string$type
Returns
$this

Definition at line 197 of file AbstractElement.php.

198  {
199  $this->_type = $type;
200  $this->setData('type', $type);
201  return $this;
202  }
$type
Definition: item.phtml:13
setData($key, $value=null)
Definition: DataObject.php:72

◆ toHtml()

toHtml ( )

Get the html.

Returns
mixed

Definition at line 472 of file AbstractElement.php.

473  {
474  return $this->getHtml();
475  }

Field Documentation

◆ $_advanced

$_advanced = false
protected

Definition at line 53 of file AbstractElement.php.

◆ $_elements

$_elements
protected

Definition at line 41 of file AbstractElement.php.

◆ $_escaper

$_escaper
protected

Definition at line 58 of file AbstractElement.php.

◆ $_form

$_form
protected

Definition at line 36 of file AbstractElement.php.

◆ $_id

$_id
protected

Definition at line 26 of file AbstractElement.php.

◆ $_renderer

$_renderer
protected

Definition at line 46 of file AbstractElement.php.

◆ $_type

$_type
protected

Definition at line 31 of file AbstractElement.php.


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