‪TYPO3CMS  10.4
TYPO3\CMS\Backend\Form\Element\AbstractFormElement Class Reference
Inheritance diagram for TYPO3\CMS\Backend\Form\Element\AbstractFormElement:
TYPO3\CMS\Backend\Form\AbstractNode TYPO3\CMS\Backend\Form\NodeInterface TYPO3\CMS\Backend\Form\Element\CheckboxElement TYPO3\CMS\Backend\Form\Element\CheckboxLabeledToggleElement TYPO3\CMS\Backend\Form\Element\CheckboxToggleElement TYPO3\CMS\Backend\Form\Element\FileInfoElement TYPO3\CMS\Backend\Form\Element\GroupElement TYPO3\CMS\Backend\Form\Element\ImageManipulationElement TYPO3\CMS\Backend\Form\Element\InputColorPickerElement TYPO3\CMS\Backend\Form\Element\InputDateTimeElement TYPO3\CMS\Backend\Form\Element\InputHiddenElement TYPO3\CMS\Backend\Form\Element\InputLinkElement TYPO3\CMS\Backend\Form\Element\InputSlugElement TYPO3\CMS\Backend\Form\Element\InputTextElement TYPO3\CMS\Backend\Form\Element\NoneElement TYPO3\CMS\Backend\Form\Element\PassThroughElement TYPO3\CMS\Backend\Form\Element\RadioElement TYPO3\CMS\Backend\Form\Element\SelectCheckBoxElement TYPO3\CMS\Backend\Form\Element\SelectMultipleSideBySideElement TYPO3\CMS\Backend\Form\Element\SelectSingleBoxElement TYPO3\CMS\Backend\Form\Element\SelectSingleElement TYPO3\CMS\Backend\Form\Element\SelectTreeElement TYPO3\CMS\Backend\Form\Element\TextElement TYPO3\CMS\Backend\Form\Element\TextTableElement TYPO3\CMS\Backend\Form\Element\UnknownElement TYPO3\CMS\Backend\Form\Element\UserElement TYPO3\CMS\Backend\Form\Element\UserSysFileStorageIsPublicElement TYPO3\CMS\Backend\View\Wizard\Element\BackendLayoutWizardElement TYPO3\CMS\RteCKEditor\Form\Element\RichTextElement TYPO3\CMS\T3editor\Form\Element\T3editorElement

Public Member Functions

 __construct (NodeFactory $nodeFactory, array $data)
 
- ‪Public Member Functions inherited from ‪TYPO3\CMS\Backend\Form\AbstractNode
array render ()
 

Protected Member Functions

array renderFieldInformation ()
 
array renderFieldControl ()
 
array renderFieldWizard ()
 
bool hasNullCheckboxButNoPlaceholder ()
 
bool hasNullCheckboxWithPlaceholder ()
 
string formatValue ($format, $itemValue, $formatOptions=[])
 
int formMaxWidth ($size=48)
 
string checkBoxParams ($itemName, $formElementValue, $checkbox, $checkboxesCount, $additionalJavaScript='')
 
array calculateColumnMarkup (int $cols)
 
string appendValueToLabelInDebugMode ($label, $value)
 
LanguageService getLanguageService ()
 
BackendUserAuthentication getBackendUser ()
 
- ‪Protected Member Functions inherited from ‪TYPO3\CMS\Backend\Form\AbstractNode
array initializeResultArray ()
 
array mergeChildReturnIntoExistingResult (array $existing, array $childReturn, bool $mergeHtml=true)
 
string getValidationDataAsJsonString (array $config)
 

Protected Attributes

int $defaultInputWidth = 30
 
int $minimumInputWidth = 10
 
int $maxInputWidth = 50
 
IconFactory $iconFactory
 
- ‪Protected Attributes inherited from ‪TYPO3\CMS\Backend\Form\AbstractNode
NodeFactory $nodeFactory
 
array $data = array( )
 
array $defaultFieldInformation = array( )
 
array $defaultFieldControl = array( )
 
array $defaultFieldWizard = array( )
 

Detailed Description

Base class for form elements of FormEngine. Contains several helper methods used by single elements.

Definition at line 31 of file AbstractFormElement.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Backend\Form\Element\AbstractFormElement::__construct ( NodeFactory  $nodeFactory,
array  $data 
)

Member Function Documentation

◆ appendValueToLabelInDebugMode()

◆ calculateColumnMarkup()

array TYPO3\CMS\Backend\Form\Element\AbstractFormElement::calculateColumnMarkup ( int  $cols)
protected

Calculates the bootstrap grid classes based on the amount of columns defined in the checkbox item TCA

Parameters
int$cols
Returns
‪array

Definition at line 339 of file AbstractFormElement.php.

Referenced by TYPO3\CMS\Backend\Form\Element\CheckboxLabeledToggleElement\render(), TYPO3\CMS\Backend\Form\Element\CheckboxToggleElement\render(), and TYPO3\CMS\Backend\Form\Element\CheckboxElement\render().

◆ checkBoxParams()

string TYPO3\CMS\Backend\Form\Element\AbstractFormElement::checkBoxParams (   $itemName,
  $formElementValue,
  $checkbox,
  $checkboxesCount,
  $additionalJavaScript = '' 
)
protected

Creates checkbox parameters

Parameters
string$itemNameForm element name
int$formElementValue‪The value of the checkbox (representing checkboxes with the bits)
int$checkbox‪Checkbox # (0-9?)
int$checkboxesCount‪Total number of checkboxes in the array.
string$additionalJavaScript‪Additional JavaScript for the onclick handler.
Returns
‪string The onclick attribute + possibly the checked-option set.

Definition at line 322 of file AbstractFormElement.php.

Referenced by TYPO3\CMS\Backend\Form\Element\UserSysFileStorageIsPublicElement\render(), TYPO3\CMS\Backend\Form\Element\CheckboxLabeledToggleElement\renderSingleCheckboxElement(), TYPO3\CMS\Backend\Form\Element\CheckboxToggleElement\renderSingleCheckboxElement(), and TYPO3\CMS\Backend\Form\Element\CheckboxElement\renderSingleCheckboxElement().

◆ formatValue()

string TYPO3\CMS\Backend\Form\Element\AbstractFormElement::formatValue (   $format,
  $itemValue,
  $formatOptions = [] 
)
protected

Format field content if 'format' is set to date, filesize, ..., user

Parameters
string$formatConfiguration for the display.
string$itemValue‪The value to display
array$formatOptions‪Format options
Returns
‪string Formatted field value

Definition at line 190 of file AbstractFormElement.php.

References $GLOBALS, TYPO3\CMS\Backend\Utility\BackendUtility\calcAge(), TYPO3\CMS\Backend\Utility\BackendUtility\datetime(), TYPO3\CMS\Core\Utility\MathUtility\forceIntegerInRange(), TYPO3\CMS\Backend\Form\Element\AbstractFormElement\getLanguageService(), and TYPO3\CMS\Backend\Utility\BackendUtility\time().

Referenced by TYPO3\CMS\Backend\Form\Element\NoneElement\render(), and TYPO3\CMS\Backend\Form\Element\InputDateTimeElement\render().

◆ formMaxWidth()

◆ getBackendUser()

BackendUserAuthentication TYPO3\CMS\Backend\Form\Element\AbstractFormElement::getBackendUser ( )
protected

Returns the current BE user.

Returns
‪BackendUserAuthentication

Reimplemented in TYPO3\CMS\RteCKEditor\Form\Element\RichTextElement.

Definition at line 400 of file AbstractFormElement.php.

References $GLOBALS.

Referenced by TYPO3\CMS\Backend\Form\Element\AbstractFormElement\appendValueToLabelInDebugMode().

◆ getLanguageService()

◆ hasNullCheckboxButNoPlaceholder()

bool TYPO3\CMS\Backend\Form\Element\AbstractFormElement::hasNullCheckboxButNoPlaceholder ( )
protected

Returns true if the "null value" checkbox should be rendered. This is used in some "text" based types like "text" and "input" for some renderType's.

A field has eval=null set, but has no useOverridePlaceholder defined. Goal is to have a field that can distinct between NULL and empty string in the database. A checkbox and an additional hidden field will be created, both with the same name and prefixed with "control[active]". If the checkbox is set (value 1), the value from the casual input field will be written to the database. If the checkbox is not set, the hidden field transfers value=0 to DataHandler, the value of the input field will then be reset to NULL by the DataHandler at an early point in processing, so NULL will be written to DB as field value.

All that only works if the field is not within flex form scope since flex forms can not store a "null" value or distinct it from "empty string".

Returns
‪bool

Definition at line 132 of file AbstractFormElement.php.

Referenced by TYPO3\CMS\Backend\Form\Element\InputColorPickerElement\render(), TYPO3\CMS\Backend\Form\Element\InputDateTimeElement\render(), TYPO3\CMS\Backend\Form\Element\InputTextElement\render(), TYPO3\CMS\Backend\Form\Element\TextElement\render(), and TYPO3\CMS\Backend\Form\Element\InputLinkElement\render().

◆ hasNullCheckboxWithPlaceholder()

bool TYPO3\CMS\Backend\Form\Element\AbstractFormElement::hasNullCheckboxWithPlaceholder ( )
protected

Returns true if the "null value" checkbox should be rendered and the placeholder handling is enabled. This is used in some "text" based types like "text" and "input" for some renderType's.

A field has useOverridePlaceholder set and null in eval and is not within a flex form. Here, a value from a deeper DB structure can be "fetched up" as value, and can also be overridden by a local value. This is used in FAL, where eg. the "title" field can have the default value from sys_file_metadata, the title field of sys_file_reference is then set to NULL. Or the "override" checkbox is set, and a string or an empty string is then written to the field of sys_file_reference. The situation is similar to hasNullCheckboxButNoPlaceholder(), but additionally a "default" value should be shown. To achieve this, again a hidden control[hidden] field is added together with a checkbox with the same name to transfer the information whether the default value should be used or not: Checkbox checked transfers 1 as value in control[active], meaning the overridden value should be used. Additionally to the casual input field, a second field is added containing the "placeholder" value. This field has no name attribute and is not transferred at all. Those two are then hidden / shown depending on the state of the above checkbox in via JS.

Returns
‪bool

Definition at line 167 of file AbstractFormElement.php.

Referenced by TYPO3\CMS\Backend\Form\Element\InputColorPickerElement\render(), TYPO3\CMS\Backend\Form\Element\InputDateTimeElement\render(), TYPO3\CMS\Backend\Form\Element\InputTextElement\render(), TYPO3\CMS\Backend\Form\Element\TextElement\render(), and TYPO3\CMS\Backend\Form\Element\InputLinkElement\render().

◆ renderFieldControl()

◆ renderFieldInformation()

array TYPO3\CMS\Backend\Form\Element\AbstractFormElement::renderFieldInformation ( )
protected

Merge field information configuration with default and render them.

Returns
‪array Result array

Definition at line 72 of file AbstractFormElement.php.

References TYPO3\CMS\Backend\Form\AbstractNode\$data, TYPO3\CMS\Backend\Form\AbstractNode\$defaultFieldInformation, and TYPO3\CMS\Core\Utility\ArrayUtility\mergeRecursiveWithOverrule().

Referenced by TYPO3\CMS\Backend\Form\Element\NoneElement\render(), TYPO3\CMS\Backend\Form\Element\UserSysFileStorageIsPublicElement\render(), TYPO3\CMS\Backend\View\Wizard\Element\BackendLayoutWizardElement\render(), TYPO3\CMS\Backend\Form\Element\RadioElement\render(), TYPO3\CMS\Backend\Form\Element\InputColorPickerElement\render(), TYPO3\CMS\Backend\Form\Element\InputDateTimeElement\render(), TYPO3\CMS\Backend\Form\Element\InputTextElement\render(), TYPO3\CMS\Backend\Form\Element\SelectCheckBoxElement\render(), TYPO3\CMS\Backend\Form\Element\InputSlugElement\render(), TYPO3\CMS\Backend\Form\Element\SelectSingleElement\render(), TYPO3\CMS\Backend\Form\Element\SelectTreeElement\render(), TYPO3\CMS\Backend\Form\Element\TextElement\render(), TYPO3\CMS\Backend\Form\Element\SelectSingleBoxElement\render(), TYPO3\CMS\Backend\Form\Element\CheckboxToggleElement\render(), TYPO3\CMS\Backend\Form\Element\CheckboxLabeledToggleElement\render(), TYPO3\CMS\Backend\Form\Element\CheckboxElement\render(), TYPO3\CMS\Backend\Form\Element\TextTableElement\render(), TYPO3\CMS\T3editor\Form\Element\T3editorElement\render(), TYPO3\CMS\Backend\Form\Element\InputLinkElement\render(), TYPO3\CMS\RteCKEditor\Form\Element\RichTextElement\render(), TYPO3\CMS\Backend\Form\Element\GroupElement\render(), TYPO3\CMS\Backend\Form\Element\SelectMultipleSideBySideElement\render(), TYPO3\CMS\Backend\Form\Element\ImageManipulationElement\render(), and TYPO3\CMS\Backend\Form\Element\SelectMultipleSideBySideElement\renderReadOnly().

◆ renderFieldWizard()

array TYPO3\CMS\Backend\Form\Element\AbstractFormElement::renderFieldWizard ( )
protected

Merge field wizard configuration with default wizards and render them.

Returns
‪array Result array

Definition at line 104 of file AbstractFormElement.php.

References TYPO3\CMS\Backend\Form\AbstractNode\$data, TYPO3\CMS\Backend\Form\AbstractNode\$defaultFieldWizard, and TYPO3\CMS\Core\Utility\ArrayUtility\mergeRecursiveWithOverrule().

Referenced by TYPO3\CMS\Backend\View\Wizard\Element\BackendLayoutWizardElement\render(), TYPO3\CMS\Backend\Form\Element\RadioElement\render(), TYPO3\CMS\Backend\Form\Element\InputColorPickerElement\render(), TYPO3\CMS\Backend\Form\Element\InputDateTimeElement\render(), TYPO3\CMS\Backend\Form\Element\InputTextElement\render(), TYPO3\CMS\Backend\Form\Element\SelectCheckBoxElement\render(), TYPO3\CMS\Backend\Form\Element\InputSlugElement\render(), TYPO3\CMS\Backend\Form\Element\SelectTreeElement\render(), TYPO3\CMS\Backend\Form\Element\SelectSingleElement\render(), TYPO3\CMS\Backend\Form\Element\TextElement\render(), TYPO3\CMS\Backend\Form\Element\SelectSingleBoxElement\render(), TYPO3\CMS\Backend\Form\Element\CheckboxToggleElement\render(), TYPO3\CMS\Backend\Form\Element\CheckboxLabeledToggleElement\render(), TYPO3\CMS\Backend\Form\Element\CheckboxElement\render(), TYPO3\CMS\Backend\Form\Element\TextTableElement\render(), TYPO3\CMS\T3editor\Form\Element\T3editorElement\render(), TYPO3\CMS\Backend\Form\Element\InputLinkElement\render(), TYPO3\CMS\RteCKEditor\Form\Element\RichTextElement\render(), TYPO3\CMS\Backend\Form\Element\GroupElement\render(), TYPO3\CMS\Backend\Form\Element\SelectMultipleSideBySideElement\render(), and TYPO3\CMS\Backend\Form\Element\ImageManipulationElement\render().

Member Data Documentation

◆ $defaultInputWidth

int TYPO3\CMS\Backend\Form\Element\AbstractFormElement::$defaultInputWidth = 30
protected

Default width value for a couple of elements like text

Definition at line 37 of file AbstractFormElement.php.

Referenced by TYPO3\CMS\Backend\Form\Element\NoneElement\render(), and TYPO3\CMS\Backend\Form\Element\InputDateTimeElement\render().

◆ $iconFactory

IconFactory TYPO3\CMS\Backend\Form\Element\AbstractFormElement::$iconFactory
protected

Definition at line 53 of file AbstractFormElement.php.

◆ $maxInputWidth

int TYPO3\CMS\Backend\Form\Element\AbstractFormElement::$maxInputWidth = 50
protected

Maximum width value for a couple of elements like text

Definition at line 49 of file AbstractFormElement.php.

◆ $minimumInputWidth

int TYPO3\CMS\Backend\Form\Element\AbstractFormElement::$minimumInputWidth = 10
protected

Minimum width value for a couple of elements like text

Definition at line 43 of file AbstractFormElement.php.