Inline FAL record in flexform fails
Creating an inline FAL record inside a flexform doesn't work and terminates with a "500 internal server error".
It's the very same bug Jeff C reported at https://forge.typo3.org/issues/71436#note-19.
This issue is not fixed with 7.6.1. despite the misleading changelog entry.
Updated by Joschi Kuphal almost 5 years ago
As I said before it's the very same bug as described at https://forge.typo3.org/issues/71436#note-19 (I'm Jeff's workmate). There are no extensions involved, just a simple custom plugin with the default
tt_content fields. The flexform configuration is this one:
<T3DataStructure> <meta> <langDisable>1</langDisable> </meta> <sheets> <main> <ROOT> <TCEforms> <sheetTitle>LLL:EXT:tw_content/Resources/Private/Language/locallang_db.xlf:tx_twcontent_plugin.tab</sheetTitle> </TCEforms> <el> <settings.elements> <TCEforms> <label>LLL:EXT:tw_content/Resources/Private/Language/locallang_db.xlf:tx_twcontent_plugin.settings.elements</label> <config> <type>inline</type> <foreign_table>tx_twcontent_domain_model_icontile</foreign_table> <foreign_table_where> AND tx_twcontent_domain_model_icontile.sys_language_uid IN (-1, 0) AND tx_twcontent_domain_model_icontile.hidden = 0 AND tx_twcontent_domain_model_icontile.deleted = 0 ORDER BY tx_twcontent_domain_model_icontile.description </foreign_table_where> <foreign_sortby>sorting</foreign_sortby> <foreign_record_defaults> <record_type>0</record_type> </foreign_record_defaults> <minitems>0</minitems> <maxitems>99</maxitems> <appearance> <useSortable>1</useSortable> <collapseAll>1</collapseAll> </appearance> <behaviour> <enableCascadingDelete>1</enableCascadingDelete> </behaviour> </config> </TCEforms> </settings.elements> </el> </ROOT> </main> </sheets> </T3DataStructure>
... but it could probably even be reduced to some very basic setting. The error log says:
[15-Dec-2015 16:25:27 Europe/Berlin] http://xxx.tollwerk.de/ - Core: Exception handler (WEB): Uncaught TYPO3 Exception: #1446996319: Configuration retrieved from FlexForm is incomplete or not of type "inline". | UnexpectedValueException thrown in file /www/htdocs/typo3/typo3_src-7.6.1/typo3/sysext/backend/Classes/Controller/FormInlineAjaxController.php in line 855. Requested URL: http://xxx.tollwerk.de/typo3/index.php?ajaxID=%2Fajax%2Frecord%2Finline%2Fcreate&ajaxToken=2716932dce5e3dbdc30fd75cd01bb19f524fcb17
Unfortunately the issue is keeping us from upgrading three otherwise totally 7.6 ready installations as it renders backend editing at least partially unusable.
Updated by Morton Jonuschat almost 5 years ago
- Status changed from New to Needs Feedback
As I suggested to Jeff in the linked ticket please add the "<type>array</type>" to your Flexform. It's currently not valid, check https://docs.typo3.org/typo3cms/CoreApiReference/DataFormats/T3datastructure/Elements/Index.html
<ROOT> is reserved as tag for the first element in the Data Structure.The <ROOT> element must have a <type> tag with the value “array” and then define other objects nested in <el> tags.
I can reproduce an internal server error in a similar extension by removing the <type> tag, so I'm confident that the invalid XML is actually the root cause.