‪TYPO3CMS  ‪main
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\BackendLayoutWizardElement TYPO3\CMS\Backend\Form\Element\CategoryElement TYPO3\CMS\Backend\Form\Element\CheckboxElement TYPO3\CMS\Backend\Form\Element\CheckboxLabeledToggleElement TYPO3\CMS\Backend\Form\Element\CheckboxToggleElement TYPO3\CMS\Backend\Form\Element\CodeEditorElement TYPO3\CMS\Backend\Form\Element\ColorElement TYPO3\CMS\Backend\Form\Element\DatetimeElement TYPO3\CMS\Backend\Form\Element\EmailElement TYPO3\CMS\Backend\Form\Element\FileInfoElement TYPO3\CMS\Backend\Form\Element\FolderElement TYPO3\CMS\Backend\Form\Element\GroupElement TYPO3\CMS\Backend\Form\Element\ImageManipulationElement TYPO3\CMS\Backend\Form\Element\InputHiddenElement TYPO3\CMS\Backend\Form\Element\InputSlugElement TYPO3\CMS\Backend\Form\Element\InputTextElement TYPO3\CMS\Backend\Form\Element\JsonElement TYPO3\CMS\Backend\Form\Element\LinkElement TYPO3\CMS\Backend\Form\Element\MfaInfoElement TYPO3\CMS\Backend\Form\Element\NoneElement TYPO3\CMS\Backend\Form\Element\NumberElement TYPO3\CMS\Backend\Form\Element\PassThroughElement TYPO3\CMS\Backend\Form\Element\PasswordElement 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\Form\Element\UuidElement TYPO3\CMS\Reactions\Form\Element\FieldMapElement TYPO3\CMS\RteCKEditor\Form\Element\RichTextElement TYPO3\CMS\Styleguide\Form\Element\User1Element

Public Member Functions

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

Protected Member Functions

array renderFieldInformation ()
 
array renderFieldControl ()
 
array renderFieldWizard ()
 
 renderLabel (string $for)
 
 wrapWithFieldsetAndLegend (string $innerHTML)
 
 hasNullCheckboxButNoPlaceholder ()
 
 hasNullCheckboxWithPlaceholder ()
 
string formatValue ($format, $itemValue, $formatOptions=[])
 
int formMaxWidth ($size=48)
 
 resolveJavaScriptEvaluation (array $resultArray, string $name, ?object $evalObject)
 
string checkBoxParams (string $itemName, int $formElementValue, int $checkbox, int $checkboxesCount, array $fieldChangeFuncs=[], bool $invert=false)
 
 calculateColumnMarkup (int $cols)
 
 appendValueToLabelInDebugMode (string|int $label, string|int $value)
 
 getLanguageService ()
 
 getBackendUser ()
 
- ‪Protected Member Functions inherited from ‪TYPO3\CMS\Backend\Form\AbstractNode
 initializeResultArray ()
 
array mergeChildReturnIntoExistingResult (array $existing, array $childReturn, bool $mergeHtml=true)
 
 getValidationDataAsJsonString (array $config)
 

Protected Attributes

int $defaultInputWidth = 30
 
int $minimumInputWidth = 10
 
int $maxInputWidth = 50
 
NodeFactory $nodeFactory
 
- ‪Protected Attributes inherited from ‪TYPO3\CMS\Backend\Form\AbstractNode
array $data = []
 
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 36 of file AbstractFormElement.php.

Member Function Documentation

◆ appendValueToLabelInDebugMode()

◆ calculateColumnMarkup()

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

Definition at line 412 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 ( string  $itemName,
int  $formElementValue,
int  $checkbox,
int  $checkboxesCount,
array  $fieldChangeFuncs = [],
bool  $invert = false 
)
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.
array$fieldChangeFuncsfieldChangeFunc items for client-side handling
bool$invert‪Inverts the state of the checkbox (but not of the bit value)
Returns
‪string either onclick attr or data-formengine-field-change-* attrs + possibly the checked-option set

Definition at line 383 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 217 of file AbstractFormElement.php.

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

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

◆ formMaxWidth()

◆ getBackendUser()

◆ getLanguageService()

TYPO3\CMS\Backend\Form\Element\AbstractFormElement::getLanguageService ( )
protected

Definition at line 456 of file AbstractFormElement.php.

References $GLOBALS.

Referenced by TYPO3\CMS\Backend\Form\Element\AbstractFormElement\formatValue(), TYPO3\CMS\Backend\Form\Element\LinkElement\getLinkExplanation(), TYPO3\CMS\Reactions\Form\Element\FieldMapElement\render(), TYPO3\CMS\Backend\Form\Element\MfaInfoElement\render(), TYPO3\CMS\Backend\Form\Element\UuidElement\render(), TYPO3\CMS\Backend\Form\Element\PasswordElement\render(), TYPO3\CMS\Backend\Form\Element\UserSysFileStorageIsPublicElement\render(), TYPO3\CMS\Backend\Form\Element\BackendLayoutWizardElement\render(), TYPO3\CMS\Backend\Form\Element\ColorElement\render(), TYPO3\CMS\Backend\Form\Element\EmailElement\render(), TYPO3\CMS\Backend\Form\Element\InputTextElement\render(), TYPO3\CMS\Backend\Form\Element\NumberElement\render(), TYPO3\CMS\Backend\Form\Element\SelectCheckBoxElement\render(), TYPO3\CMS\Backend\Form\Element\DatetimeElement\render(), TYPO3\CMS\Backend\Form\Element\InputSlugElement\render(), TYPO3\CMS\Backend\Form\Element\SelectSingleBoxElement\render(), TYPO3\CMS\Backend\Form\Element\TextElement\render(), TYPO3\CMS\Backend\Form\Element\FolderElement\render(), TYPO3\CMS\Backend\Form\Element\LinkElement\render(), TYPO3\CMS\Backend\Form\Element\GroupElement\render(), TYPO3\CMS\Backend\Form\Element\SelectMultipleSideBySideElement\render(), TYPO3\CMS\Backend\Form\Element\FileInfoElement\renderFileInformationContent(), TYPO3\CMS\Backend\Form\Element\PasswordElement\renderPasswordPolicyRequirements(), TYPO3\CMS\Backend\Form\Element\SelectMultipleSideBySideElement\renderReadOnly(), and TYPO3\CMS\RteCKEditor\Form\Element\RichTextElement\replaceLanguageFileReferences().

◆ hasNullCheckboxButNoPlaceholder()

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".

Definition at line 163 of file AbstractFormElement.php.

Referenced by TYPO3\CMS\Backend\Form\Element\PasswordElement\render(), TYPO3\CMS\Backend\Form\Element\ColorElement\render(), TYPO3\CMS\Backend\Form\Element\EmailElement\render(), TYPO3\CMS\Backend\Form\Element\InputTextElement\render(), TYPO3\CMS\Backend\Form\Element\NumberElement\render(), TYPO3\CMS\Backend\Form\Element\DatetimeElement\render(), TYPO3\CMS\Backend\Form\Element\TextElement\render(), and TYPO3\CMS\Backend\Form\Element\LinkElement\render().

◆ hasNullCheckboxWithPlaceholder()

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.

Definition at line 195 of file AbstractFormElement.php.

Referenced by TYPO3\CMS\Backend\Form\Element\PasswordElement\render(), TYPO3\CMS\Backend\Form\Element\ColorElement\render(), TYPO3\CMS\Backend\Form\Element\EmailElement\render(), TYPO3\CMS\Backend\Form\Element\InputTextElement\render(), TYPO3\CMS\Backend\Form\Element\NumberElement\render(), TYPO3\CMS\Backend\Form\Element\DatetimeElement\render(), TYPO3\CMS\Backend\Form\Element\TextElement\render(), and TYPO3\CMS\Backend\Form\Element\LinkElement\render().

◆ injectNodeFactory()

TYPO3\CMS\Backend\Form\Element\AbstractFormElement::injectNodeFactory ( NodeFactory  $nodeFactory)

Injection of NodeFactory, which is used in this abstract already. Using inject* method to not pollute __construct() for inheriting classes.

Definition at line 63 of file AbstractFormElement.php.

References TYPO3\CMS\Backend\Form\Element\AbstractFormElement\$nodeFactory.

◆ renderFieldControl()

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

◆ 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 73 of file AbstractFormElement.php.

References TYPO3\CMS\Backend\Form\AbstractNode\$data, and TYPO3\CMS\Backend\Form\AbstractNode\$defaultFieldInformation.

Referenced by TYPO3\CMS\Reactions\Form\Element\FieldMapElement\render(), TYPO3\CMS\Backend\Form\Element\NoneElement\render(), TYPO3\CMS\Backend\Form\Element\PasswordElement\render(), TYPO3\CMS\Backend\Form\Element\UuidElement\render(), TYPO3\CMS\Backend\Form\Element\CategoryElement\render(), TYPO3\CMS\Backend\Form\Element\UserSysFileStorageIsPublicElement\render(), TYPO3\CMS\Backend\Form\Element\BackendLayoutWizardElement\render(), TYPO3\CMS\Backend\Form\Element\RadioElement\render(), TYPO3\CMS\Backend\Form\Element\CheckboxLabeledToggleElement\render(), TYPO3\CMS\Backend\Form\Element\CheckboxToggleElement\render(), TYPO3\CMS\Backend\Form\Element\EmailElement\render(), TYPO3\CMS\Backend\Form\Element\JsonElement\render(), TYPO3\CMS\Backend\Form\Element\ColorElement\render(), TYPO3\CMS\Backend\Form\Element\NumberElement\render(), TYPO3\CMS\Backend\Form\Element\InputTextElement\render(), TYPO3\CMS\Backend\Form\Element\CheckboxElement\render(), TYPO3\CMS\Backend\Form\Element\SelectCheckBoxElement\render(), TYPO3\CMS\Backend\Form\Element\SelectTreeElement\render(), TYPO3\CMS\Backend\Form\Element\DatetimeElement\render(), TYPO3\CMS\Backend\Form\Element\SelectSingleElement\render(), TYPO3\CMS\Backend\Form\Element\SelectSingleBoxElement\render(), TYPO3\CMS\Backend\Form\Element\InputSlugElement\render(), TYPO3\CMS\Backend\Form\Element\TextElement\render(), TYPO3\CMS\Backend\Form\Element\CodeEditorElement\render(), TYPO3\CMS\Backend\Form\Element\TextTableElement\render(), TYPO3\CMS\Backend\Form\Element\FolderElement\render(), TYPO3\CMS\RteCKEditor\Form\Element\RichTextElement\render(), TYPO3\CMS\Backend\Form\Element\LinkElement\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 105 of file AbstractFormElement.php.

References TYPO3\CMS\Backend\Form\AbstractNode\$data, and TYPO3\CMS\Backend\Form\AbstractNode\$defaultFieldWizard.

Referenced by TYPO3\CMS\Backend\Form\Element\PasswordElement\render(), TYPO3\CMS\Backend\Form\Element\CategoryElement\render(), TYPO3\CMS\Backend\Form\Element\BackendLayoutWizardElement\render(), TYPO3\CMS\Backend\Form\Element\RadioElement\render(), TYPO3\CMS\Backend\Form\Element\CheckboxLabeledToggleElement\render(), TYPO3\CMS\Backend\Form\Element\CheckboxToggleElement\render(), TYPO3\CMS\Backend\Form\Element\EmailElement\render(), TYPO3\CMS\Backend\Form\Element\ColorElement\render(), TYPO3\CMS\Backend\Form\Element\JsonElement\render(), TYPO3\CMS\Backend\Form\Element\NumberElement\render(), TYPO3\CMS\Backend\Form\Element\InputTextElement\render(), TYPO3\CMS\Backend\Form\Element\CheckboxElement\render(), TYPO3\CMS\Backend\Form\Element\SelectCheckBoxElement\render(), TYPO3\CMS\Backend\Form\Element\SelectTreeElement\render(), TYPO3\CMS\Backend\Form\Element\DatetimeElement\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\InputSlugElement\render(), TYPO3\CMS\Backend\Form\Element\CodeEditorElement\render(), TYPO3\CMS\Backend\Form\Element\TextTableElement\render(), TYPO3\CMS\Backend\Form\Element\FolderElement\render(), TYPO3\CMS\RteCKEditor\Form\Element\RichTextElement\render(), TYPO3\CMS\Backend\Form\Element\LinkElement\render(), TYPO3\CMS\Backend\Form\Element\GroupElement\render(), TYPO3\CMS\Backend\Form\Element\SelectMultipleSideBySideElement\render(), and TYPO3\CMS\Backend\Form\Element\ImageManipulationElement\render().

◆ renderLabel()

◆ resolveJavaScriptEvaluation()

TYPO3\CMS\Backend\Form\Element\AbstractFormElement::resolveJavaScriptEvaluation ( array  $resultArray,
string  $name,
?object  $evalObject 
)
protected

Handle custom javascript eval implementations. $evalObject is a hook object for custom eval's. It is transferred to JS as a JavaScriptModuleInstruction if possible. This is used by a couple of renderType's like various type="input", should be used with care and is internal for now.

Definition at line 349 of file AbstractFormElement.php.

References TYPO3\CMS\Core\Page\JavaScriptModuleInstruction\create().

Referenced by TYPO3\CMS\Backend\Form\Element\InputTextElement\render().

◆ wrapWithFieldsetAndLegend()

TYPO3\CMS\Backend\Form\Element\AbstractFormElement::wrapWithFieldsetAndLegend ( string  $innerHTML)
protected

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 43 of file AbstractFormElement.php.

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

◆ $maxInputWidth

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

Maximum width value for a couple of elements like text

Definition at line 55 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 49 of file AbstractFormElement.php.

◆ $nodeFactory

NodeFactory TYPO3\CMS\Backend\Form\Element\AbstractFormElement::$nodeFactory
protected