TYPO3 CMS  TYPO3_7-6
TYPO3\CMS\Form\Domain\Builder\FormBuilder Class Reference

Public Member Functions

 injectTypoScriptService (\TYPO3\CMS\Extbase\Service\TypoScriptService $typoScriptService)
 
 injectTypoScriptRepository (\TYPO3\CMS\Form\Domain\Repository\TypoScriptRepository $typoScriptRepository)
 
 injectSignalSlotDispatcher (\TYPO3\CMS\Extbase\SignalSlot\Dispatcher $signalSlotDispatcher)
 
 injectSessionUtility (\TYPO3\CMS\Form\Utility\SessionUtility $sessionUtility)
 
 injectElementCounter (\TYPO3\CMS\Form\Utility\ElementCounter $elementCounter)
 
 injectObjectManager (\TYPO3\CMS\Extbase\Object\ObjectManager $objectManager)
 
 __construct ()
 
 getConfiguration ()
 
 setConfiguration (Configuration $configuration)
 
 getControllerContext ()
 
 setControllerContext (ControllerContext $controllerContext)
 
 getCompatibilityService ()
 
 setCompatibilityService (CompatibilityLayerUtility $compatibilityService)
 
 getFormUtility ()
 
 setFormUtility (FormUtility $formUtility)
 
 getValidationBuilder ()
 
 setValidationBuilder (ValidationBuilder $validationBuilder)
 
 buildModel ()
 
 getFormPrefix ()
 
 getDisableContentElementRendering ()
 
 getControllerAction ()
 
 getCompatibilityMode ()
 
 getIncomingData ()
 
 setValidationErrors (\TYPO3\CMS\Extbase\Error\Result $validationErrors)
 
 getValidationErrors ()
 

Public Attributes

const COMPATIBILITY_THEME_NAME = 'Compatibility'
 

Protected Member Functions

 createElementObject ()
 
 reviveElement (Element $element, array $userConfiguredElementTypoScript, $elementType='')
 
 setChildElementsByIntegerKey (Element $element, array $userConfiguredElementTypoScript)
 
 distinguishElementType (Element $element, array $userConfiguredElementTypoScript, $elementType='')
 
 addChildElement (Element $element, array $userConfiguredElementTypoScript, $elementType='')
 
 setAttributes (ElementBuilder $elementBuilder, Element $element)
 
 handleIncomingValues (Element $element, array $userConfiguredElementTypoScript)
 

Protected Attributes

 $formUtility
 
 $typoScriptService
 
 $compatibilityService
 
 $validationBuilder
 
 $typoScriptRepository
 
 $signalSlotDispatcher
 
 $sessionUtility
 
 $objectManager
 
 $elementCounter
 
 $validationErrors = null
 
 $configuration
 
 $controllerContext
 

Detailed Description

TypoScript factory for form

Takes the incoming TypoScript and adds all the necessary form objects according to the configuration.

Definition at line 32 of file FormBuilder.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::__construct ( )

Creates this object.

Definition at line 168 of file FormBuilder.php.

Member Function Documentation

◆ addChildElement()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::addChildElement ( Element  $element,
array  $userConfiguredElementTypoScript,
  $elementType = '' 
)
protected

Add child object to this element

Parameters
Element$element
array$userConfiguredElementTypoScriptThe configuration array
string$elementTypeThe element type (e.g BUTTON)
Returns
void

Definition at line 443 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Model\Element\addChildElement(), TYPO3\CMS\Form\Domain\Builder\FormBuilder\createElementObject(), and TYPO3\CMS\Form\Domain\Builder\FormBuilder\reviveElement().

Referenced by TYPO3\CMS\Form\Domain\Builder\FormBuilder\distinguishElementType().

◆ buildModel()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::buildModel ( )

Build model from TypoScript Needed if more than one form exist at a page

Returns
NULL| The form object containing the child elements

Definition at line 259 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Builder\FormBuilder\createElementObject(), TYPO3\CMS\Form\Domain\Builder\FormBuilder\getControllerAction(), and TYPO3\CMS\Form\Domain\Builder\FormBuilder\reviveElement().

◆ createElementObject()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::createElementObject ( )
protected

◆ distinguishElementType()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::distinguishElementType ( Element  $element,
array  $userConfiguredElementTypoScript,
  $elementType = '' 
)
protected

Create and add element by type. If its not a registered form element try to render it as contentelement with the internal elementType CONTENTELEMENT

Parameters
Element$element
array$userConfiguredElementTypoScriptThe configuration array
string$elementTypeThe element type (e.g BUTTON)
Returns
void

Definition at line 422 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Builder\FormBuilder\addChildElement().

Referenced by TYPO3\CMS\Form\Domain\Builder\FormBuilder\setChildElementsByIntegerKey().

◆ getCompatibilityMode()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::getCompatibilityMode ( )

If TRUE form try to respect the layout settings

Returns
bool

Definition at line 643 of file FormBuilder.php.

◆ getCompatibilityService()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::getCompatibilityService ( )
Returns
CompatibilityLayerUtility

Definition at line 208 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Builder\FormBuilder\$compatibilityService.

◆ getConfiguration()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::getConfiguration ( )
Returns
Configuration

Definition at line 176 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Builder\FormBuilder\$configuration.

◆ getControllerAction()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::getControllerAction ( )

TRUE if the content element rendering should be disabled.

Returns
string

Definition at line 633 of file FormBuilder.php.

Referenced by TYPO3\CMS\Form\Domain\Builder\FormBuilder\buildModel(), and TYPO3\CMS\Form\Domain\Builder\FormBuilder\setAttributes().

◆ getControllerContext()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::getControllerContext ( )
Returns
ControllerContext

Definition at line 192 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Builder\FormBuilder\$controllerContext.

◆ getDisableContentElementRendering()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::getDisableContentElementRendering ( )

TRUE if the content element rendering should be disabled.

Returns
bool

Definition at line 623 of file FormBuilder.php.

◆ getFormPrefix()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::getFormPrefix ( )

Return the form prefix

Returns
string

Definition at line 613 of file FormBuilder.php.

◆ getFormUtility()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::getFormUtility ( )
Returns
FormUtility

Definition at line 224 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Builder\FormBuilder\$formUtility.

◆ getIncomingData()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::getIncomingData ( )

Get the incoming flat form data

Returns
ValidationElement

Definition at line 653 of file FormBuilder.php.

Referenced by TYPO3\CMS\Form\Hooks\HandleIncomingFormValues\handleIncomingFormValues(), and TYPO3\CMS\Form\Domain\Builder\FormBuilder\handleIncomingValues().

◆ getValidationBuilder()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::getValidationBuilder ( )

◆ getValidationErrors()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::getValidationErrors ( )

◆ handleIncomingValues()

◆ injectElementCounter()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::injectElementCounter ( \TYPO3\CMS\Form\Utility\ElementCounter  $elementCounter)
Parameters
\TYPO3\CMS\Form\Utility\ElementCounter$elementCounter
Returns
void

Definition at line 151 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Builder\FormBuilder\$elementCounter.

◆ injectObjectManager()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::injectObjectManager ( \TYPO3\CMS\Extbase\Object\ObjectManager  $objectManager)
Parameters
\TYPO3\CMS\Extbase\Object\ObjectManager$objectManager
Returns
void

Definition at line 160 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Builder\FormBuilder\$objectManager.

◆ injectSessionUtility()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::injectSessionUtility ( \TYPO3\CMS\Form\Utility\SessionUtility  $sessionUtility)
Parameters
\TYPO3\CMS\Form\Utility\SessionUtility$sessionUtility
Returns
void

Definition at line 142 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Builder\FormBuilder\$sessionUtility.

◆ injectSignalSlotDispatcher()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::injectSignalSlotDispatcher ( \TYPO3\CMS\Extbase\SignalSlot\Dispatcher  $signalSlotDispatcher)
Parameters
\TYPO3\CMS\Extbase\SignalSlot\Dispatcher$signalSlotDispatcher
Returns
void

Definition at line 133 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Builder\FormBuilder\$signalSlotDispatcher.

◆ injectTypoScriptRepository()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::injectTypoScriptRepository ( \TYPO3\CMS\Form\Domain\Repository\TypoScriptRepository  $typoScriptRepository)
Parameters
\TYPO3\CMS\Form\Domain\Repository\TypoScriptRepository$typoScriptRepository
Returns
void

Definition at line 124 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Builder\FormBuilder\$typoScriptRepository.

◆ injectTypoScriptService()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::injectTypoScriptService ( \TYPO3\CMS\Extbase\Service\TypoScriptService  $typoScriptService)
Parameters
\TYPO3\CMS\Extbase\Service\TypoScriptService$typoScriptService
Returns
void

Definition at line 115 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Builder\FormBuilder\$typoScriptService.

◆ reviveElement()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::reviveElement ( Element  $element,
array  $userConfiguredElementTypoScript,
  $elementType = '' 
)
protected

◆ setAttributes()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::setAttributes ( ElementBuilder  $elementBuilder,
Element  $element 
)
protected

Set the htmlAttributes and the additionalAttributes Remap htmlAttributes to additionalAttributes if needed

Parameters
ElementBuilder$elementBuilder
Element$element
Returns
void

Definition at line 459 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Model\Element\getAdditionalArgument(), TYPO3\CMS\Form\Domain\Builder\ElementBuilder\getAdditionalArguments(), TYPO3\CMS\Form\Domain\Builder\FormBuilder\getControllerAction(), TYPO3\CMS\Form\Domain\Model\Element\getElementType(), TYPO3\CMS\Form\Domain\Model\Element\getHtmlAttribute(), TYPO3\CMS\Form\Domain\Builder\ElementBuilder\getHtmlAttributes(), TYPO3\CMS\Form\Domain\Model\Element\getName(), TYPO3\CMS\Form\Domain\Builder\FormBuilder\handleIncomingValues(), TYPO3\CMS\Form\Domain\Builder\ElementBuilder\moveAllOtherUserdefinedPropertiesToAdditionalArguments(), TYPO3\CMS\Form\Domain\Builder\ElementBuilder\moveHtmlAttributesToAdditionalArguments(), TYPO3\CMS\Form\Domain\Builder\ElementBuilder\overlayFixedHtmlAttributeValues(), TYPO3\CMS\Form\Domain\Builder\ElementBuilder\overlayUserdefinedHtmlAttributeValues(), TYPO3\CMS\Form\Domain\Model\Element\setAdditionalArgument(), TYPO3\CMS\Form\Domain\Model\Element\setAdditionalArguments(), TYPO3\CMS\Form\Domain\Model\Element\setHtmlAttributes(), TYPO3\CMS\Form\Domain\Builder\ElementBuilder\setHtmlAttributes(), TYPO3\CMS\Form\Domain\Builder\ElementBuilder\setHtmlAttributeWildcards(), TYPO3\CMS\Form\Domain\Builder\ElementBuilder\setNameAndId(), and TYPO3\CMS\Form\Domain\Builder\ElementBuilder\setViewHelperDefaulArgumentsToAdditionalArguments().

Referenced by TYPO3\CMS\Form\Domain\Builder\FormBuilder\reviveElement().

◆ setChildElementsByIntegerKey()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::setChildElementsByIntegerKey ( Element  $element,
array  $userConfiguredElementTypoScript 
)
protected

Rendering of a "numerical array" of Form objects from TypoScript Creates new object for each element found

Parameters
Element$element
array$userConfiguredElementTypoScriptThe configuration array
Returns
void
Exceptions

Definition at line 388 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Builder\FormBuilder\distinguishElementType(), TYPO3\CMS\Form\Domain\Model\Element\getElementCounter(), and TYPO3\CMS\Core\TypoScript\TemplateService\sortedKeyList().

Referenced by TYPO3\CMS\Form\Domain\Builder\FormBuilder\reviveElement().

◆ setCompatibilityService()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::setCompatibilityService ( CompatibilityLayerUtility  $compatibilityService)
Parameters
CompatibilityLayerUtility$compatibilityService

Definition at line 216 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Builder\FormBuilder\$compatibilityService.

◆ setConfiguration()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::setConfiguration ( Configuration  $configuration)
Parameters
Configuration$configuration

Definition at line 184 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Builder\FormBuilder\$configuration.

◆ setControllerContext()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::setControllerContext ( ControllerContext  $controllerContext)
Parameters
ControllerContext$controllerContext

Definition at line 200 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Builder\FormBuilder\$controllerContext.

◆ setFormUtility()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::setFormUtility ( FormUtility  $formUtility)
Parameters
FormUtility$formUtility

Definition at line 232 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Builder\FormBuilder\$formUtility.

◆ setValidationBuilder()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::setValidationBuilder ( ValidationBuilder  $validationBuilder)
Parameters
ValidationBuilder$validationBuilder

Definition at line 248 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Builder\FormBuilder\$validationBuilder.

◆ setValidationErrors()

TYPO3\CMS\Form\Domain\Builder\FormBuilder::setValidationErrors ( \TYPO3\CMS\Extbase\Error\Result  $validationErrors)

Set the validation errors

Parameters
\TYPO3\CMS\Extbase\Error\Result$validationErrors
Returns
void

Definition at line 664 of file FormBuilder.php.

References TYPO3\CMS\Form\Domain\Builder\FormBuilder\$validationErrors.

Member Data Documentation

◆ $compatibilityService

TYPO3\CMS\Form\Domain\Builder\FormBuilder::$compatibilityService
protected

◆ $configuration

TYPO3\CMS\Form\Domain\Builder\FormBuilder::$configuration
protected

◆ $controllerContext

TYPO3\CMS\Form\Domain\Builder\FormBuilder::$controllerContext
protected

◆ $elementCounter

TYPO3\CMS\Form\Domain\Builder\FormBuilder::$elementCounter
protected

◆ $formUtility

TYPO3\CMS\Form\Domain\Builder\FormBuilder::$formUtility
protected

◆ $objectManager

TYPO3\CMS\Form\Domain\Builder\FormBuilder::$objectManager
protected

◆ $sessionUtility

TYPO3\CMS\Form\Domain\Builder\FormBuilder::$sessionUtility
protected

◆ $signalSlotDispatcher

TYPO3\CMS\Form\Domain\Builder\FormBuilder::$signalSlotDispatcher
protected

◆ $typoScriptRepository

TYPO3\CMS\Form\Domain\Builder\FormBuilder::$typoScriptRepository
protected

◆ $typoScriptService

TYPO3\CMS\Form\Domain\Builder\FormBuilder::$typoScriptService
protected

◆ $validationBuilder

TYPO3\CMS\Form\Domain\Builder\FormBuilder::$validationBuilder
protected

◆ $validationErrors

TYPO3\CMS\Form\Domain\Builder\FormBuilder::$validationErrors = null
protected

◆ COMPATIBILITY_THEME_NAME

const TYPO3\CMS\Form\Domain\Builder\FormBuilder::COMPATIBILITY_THEME_NAME = 'Compatibility'

Definition at line 37 of file FormBuilder.php.