Project

General

Profile

Actions

Bug #72249

closed

Inline FAL record in flexform fails

Added by Joschi Kuphal over 8 years ago. Updated over 8 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 2 (0 open2 closed)

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
Actions #1

Updated by Morton Jonuschat over 8 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!

Actions #2

Updated by Joschi Kuphal over 8 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.

Actions #3

Updated by Joschi Kuphal over 8 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.

Actions #4

Updated by Morton Jonuschat over 8 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.

Actions #5

Updated by Joschi Kuphal over 8 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. :)

Actions #6

Updated by Jeff C over 8 years ago

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

Actions #7

Updated by Morton Jonuschat over 8 years ago

  • Status changed from Needs Feedback to Closed

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

Actions

Also available in: Atom PDF