Bug #72249

Inline FAL record in flexform fails

Added by Joschi Kuphal almost 5 years ago. Updated almost 5 years ago.

Status:
Closed
Priority:
Must have
Assignee:
-
Category:
FormEngine aka TCEforms
Target version:
-
Start date:
2015-12-15
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
7
PHP Version:
5.6
Tags:
Complexity:
Is Regression:
Yes
Sprint Focus:

Description

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.


Related issues

Related to TYPO3 Core - Bug #71436: Inline in flex with multiple DS failsClosed2015-11-09

Actions
Related to TYPO3 Core - Bug #72393: Inline FAL record in gridelements flexform failsClosed2015-12-22

Actions
#1

Updated by Morton Jonuschat almost 5 years ago

  • Target version deleted (next-patchlevel)

Please provide more details in regard to your configuration so that the bug can be reproduced. Are there any extensions involved that hook into the processing (GridElements, Flux etc.?)

Thanks!

#2

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.

#3

Updated by Joschi Kuphal almost 5 years ago

Sorry, I just realise that the configuration example provided doesn't involve a FAL record as advertised. We experience the very same problem with any type of inline record, however. The error messages apply to FAL records as well.

#4

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.

#5

Updated by Joschi Kuphal almost 5 years ago

Alright. I'll talk to Jeff tomorrow. I'm pretty sure he either overlooked your advise or it didn't work. We'll find out tomorrow. Thanks so far. :)

#6

Updated by Jeff C almost 5 years ago

<type>array</type> does the trick, sorry for not checking this earlier!

#7

Updated by Morton Jonuschat almost 5 years ago

  • Status changed from Needs Feedback to Closed

Thanks for the heads up, I've closed the ticket.

Also available in: Atom PDF