diff --git a/typo3/sysext/form/Classes/Domain/Factory/JsonToTypoScript.php b/typo3/sysext/form/Classes/Domain/Factory/JsonToTypoScript.php index 0db3bd7..de87d1b 100644 --- a/typo3/sysext/form/Classes/Domain/Factory/JsonToTypoScript.php +++ b/typo3/sysext/form/Classes/Domain/Factory/JsonToTypoScript.php @@ -128,7 +128,21 @@ class JsonToTypoScript $this->getForm($element, $parent, $elementCounter); break; default: - + if (is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['form']['hooks']['userDefined'])) { + $params = array(); + foreach ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['form']['hooks']['userDefined'] as $hook) { + $xtypes = \TYPO3\CMS\Core\Utility\GeneralUtility::callUserFunction( + $hook . '->getXTypes', + $params, + $this + ); + foreach($xtypes as $xtype) { + if($element['xtype'] == $xtype) { + $this->getDefaultElementSetup($element, $parent, $elementCounter, $childrenWithParentName); + } + } + } + } } } $elementCounter = $elementCounter + 10; @@ -412,7 +426,23 @@ class JsonToTypoScript } break; default: - + if (is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['form']['hooks']['userDefined'])) { + $params = array(); + foreach ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['form']['hooks']['userDefined'] as $hook) { + $xtypes = \TYPO3\CMS\Core\Utility\GeneralUtility::callUserFunction( + $hook . '->getXTypes', + $params, + $this + ); + foreach ($xtypes as $elementName) { + if ($element['xtype'] == $xtype) { + if ($value === 'back') { + $parent[$elementCounter . '.']['layout'] = '' . LF . '