Bug #71436

Story #69617: FormEngine bugs

Inline in flex with multiple DS fails

Added by Christian Kuhn almost 4 years ago. Updated almost 2 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
FormEngine aka TCEforms
Target version:
Start date:
2015-11-09
Due date:
% Done:

0%

TYPO3 Version:
7
PHP Version:
Tags:
Complexity:
hard
Is Regression:
No
Sprint Focus:

Description

See example in https://forge.typo3.org/issues/70918

If an inline field is defined in a flex field that has multiple dataSheet definitions, always the first ds is taken when adding new inline relations via ajax. This is because a) the record is not fetched for InlineParent data group (it would fail still fail for new records then), so the real solution is to have the name of the data structure coded within the domObjectId string so TcaFlexFetch can pick the correct one.
This however requires a rewrite of the string magic that is happening in this area.

first step: add a scenario to styleguide for more easy how-to-reproduce.

FormInlineAjaxController.php.patch View (936 Bytes) Witali Rott, 2015-11-20 13:28

bug_reproduce.tar.gz (3.5 KB) Christopher Orth, 2015-11-24 13:58

FormInlineAjaxController.php.patch View (825 Bytes) Witali Rott, 2015-12-17 17:32

2016-01-03 at 11.12.png View (76.8 KB) Konstantin Salakhutdinov, 2016-01-03 09:32

2016-01-03 at 11.16.png View (51.6 KB) Konstantin Salakhutdinov, 2016-01-03 09:32

FormInlineAjaxController.php.patch View (911 Bytes) Witali Rott, 2016-01-22 11:45

FormInlineAjaxController.php.patch View - Patch for TYPO3 7.6.3-7.6.4 (1.65 KB) Witali Rott, 2016-02-23 12:52

udg_bug_0.0.1_201702031407.zip (7.78 KB) Sven Carstens, 2017-02-03 15:08


Related issues

Related to TYPO3 Core - Bug #70918: Adding inline relations in FlexForms is broken Closed 2015-10-21
Related to TYPO3 Core - Bug #71564: FAL file pick in flexform causes error 500 alert box Closed 2015-11-13
Related to Grid Elements (former official tracker) - now moved to Gitlab! - Bug #70442: Image elements form flexform not available in typoscript / Fluid Closed 2015-10-06
Related to TYPO3 Core - Bug #72054: FAL inline in flexformDS fails Rejected 2015-12-04
Related to TYPO3 Core - Bug #72249: Inline FAL record in flexform fails Closed 2015-12-15
Related to TYPO3 Core - Bug #68045: Inline add of FAL images in flexform does not work Closed 2015-07-10
Related to TYPO3 Core - Bug #72393: Inline FAL record in gridelements flexform fails Closed 2015-12-22
Related to TYPO3 Core - Bug #73751: columnsOverrides don't work with IRRE Elements Rejected 2016-02-29
Related to TYPO3 Core - Bug #82096: Error when adding an inline element inside the FlexForm area of an inline element New 2017-08-14
Duplicated by TYPO3 Core - Bug #71655: Irre elemets in plugin configuration not possible Closed 2015-11-18
Duplicated by TYPO3 Core - Bug #71783: Adding FAL images in FlexForm is not possible Closed 2015-11-23
Blocks TYPO3 Core - Bug #71619: FAL relation with min=1, max=1 not deletable Closed 2015-11-17

Associated revisions

Revision 570e19ed (diff)
Added by Morton Jonuschat almost 4 years ago

[BUGFIX] FormEngine: Select correct FlexForm DS for inline records

If an inline field is defined within a FlexForm that has multiple data
structures defined the FormAjaxInlineController always selects the
default data structure due to missing context information.

This patch transmits the required context within the AJAX request to
enable selecting the appropriate data structure for the flexform.

It also changes the method to determine the path through the flexform
data structure to work in the case of an inline element configured
within a flexform within another inline element.

Resolves: #71436
Related: #70918
Related: #71564
Related: #71655
Releases: master
Change-Id: I7ecd174b78997ad3b1d1513a15a78cdc7bac23ff
Reviewed-on: https://review.typo3.org/44914
Tested-by: Armin Ruediger Vieweg <>
Tested-by: Sebastian Michaelsen <>
Tested-by: Felix Rauch <>
Reviewed-by: Claus Due <>
Tested-by: Christopher Orth <>
Tested-by: Torsten <>
Tested-by: Philipp Wrann <>
Reviewed-by: Andreas Fernandez <>
Tested-by: Andreas Fernandez <>
Reviewed-by: Wouter Wolters <>
Tested-by: Wouter Wolters <>

History

#1 Updated by Christian Kuhn almost 4 years ago

  • Parent task set to #69617

#2 Updated by Andreas Wolf almost 4 years ago

This does i.a. affect pi_flexform, because it has multiple data structures defined, right?

Have a look at my patch for #70918. The choice of the DS depends on the surrounding record, for pi_flexform on CType and list_type. When invoking the FlexFetcher (or another Flex* class, don’t exactly remember) with the full DB record, the correct flexform is loaded automatically – don’t know if that was by fortune or is intended. I’m pretty sure this is also the way it was done in the old FormEngine.
Anyways, I don’t think we need to code the name of the DS into the object id.

#3 Updated by Felix Rauch almost 4 years ago

It affects pi_flexform, it also will affect FluidTYPO3 once the inline fields in that are fixed for latest master.

#4 Updated by Gerrit Code Review almost 4 years ago

  • Status changed from New to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/44653

#5 Updated by Gerrit Code Review almost 4 years ago

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/44653

#6 Updated by Christian Kuhn almost 4 years ago

Morton and me have a plan now. We will solve this in a relatively straight forward way for 7 with giving required additional information via JS. For 8 this area will be refactored completely.

This issue issue will be resolved within maximum next 2 weeks.

#7 Updated by Christian Kuhn almost 4 years ago

  • Assignee set to Morton Jonuschat

#8 Updated by Witali Rott almost 4 years ago

This patch work's on existing rows but not on new

#9 Updated by Witali Rott almost 4 years ago

Why not use the ajax context data?
What speaks against it?

#10 Updated by Gerrit Code Review almost 4 years ago

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/44914

#11 Updated by Christopher Orth almost 4 years ago

Great, work's for me!

#12 Updated by Christopher Orth almost 4 years ago

Bug still exist for IRRE-Elements

#13 Updated by Gerrit Code Review almost 4 years ago

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/44914

#14 Updated by Morton Jonuschat almost 4 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100

#15 Updated by Henning Liebe almost 4 years ago

Seems that the patch isn't working for me. Still got the 500 internal server error in combination with grid elements and inline in flex.

I used the flexform from the bug_reproduce.tar.gz and included it in my ts configuration:
flexformDS = FILE:EXT:myext/Configuration/FlexForms/TestFlexform.xml

The thrown exception:
Uncaught TYPO3 Exception #1446996319: Configuration retrieved from FlexForm is incomplete or not of type "inline". (More information)

Tested with the current 7.6.1-dev (including the changeset). In 6.2 the flexformDS include works.

#16 Updated by Jeff C almost 4 years ago

I can confirm, that the bug still exists with IRRE.

#17 Updated by Till Schweneker almost 4 years ago

I can confirm it, too. The bug still exists.

#18 Updated by Morton Jonuschat almost 4 years ago

+1 / confirms are not really helpful without any additional information on how to reproduce the issue. First of all, if it occurs in combination with flux/fluidcontent/fluidpages extensions please there is an open issue reported for them at https://github.com/FluidTYPO3/flux/issues/1013
If it occurs in combination with gridelements as reported by Henning there's a similar bug in EXT:gridelements. In the case that it still occurs in core TCA/Flexform combinations please post the required configuration needed to reliably reproduce it or - which would be even better - upload an extension to reproduce it like Christopher did.

#19 Updated by Jeff C almost 4 years ago

I get the problem with a core-plugin that has nothing to do with neither gridelements nor fluid typo3.

Here's the flexform for the broken plugin:

<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>

#20 Updated by Morton Jonuschat almost 4 years ago

Thanks for the feedback. From reading I think your flexform is actually invalid, missing a <type>array</type> before the first <el> Tag. The earlier Flexform parsers might have let that slip through, I'll try to reproduce tonight. The inline config itself looks good on first impression and shouldn't cause troubles.

#21 Updated by Jeff C almost 4 years ago

<type>array</type> fixes this!

#22 Updated by Stefan Berger over 3 years ago

I just upgrade the new TYPO3 7.6.1 version on our live systems, but that “error 500 alert box” bug unfortunately still exists. So I had to patch the source with that intermediate fix (https://review.typo3.org/#/c/44653/) for version 7.6.0 in order to be able to add images at least when the record is saved.

We use FAL-images in gridelement flexforms and I think the xml is correct. E.g.:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
    <meta>
        <langDisable>1</langDisable>
    </meta>
    <ROOT type="array">
        <type>array</type>
        <el type="array">
            <image type="array">
                <TCEforms>
                    <label>LLL:fileadmin/locallang/gridelements/information_teaser.xml:image</label>
                    <config>
                        <type>inline</type>
                        <appearance type="array">
                            <createNewRelationLinkTitle>LLL:fileadmin/locallang/gridelements/information_teaser.xml:addnewimage</createNewRelationLinkTitle>
                            <useSortable>TRUE</useSortable>
                            <showAllLocalizationLink>FALSE</showAllLocalizationLink>
                            <showPossibleLocalizationRecords>FALSE</showPossibleLocalizationRecords>
                            <showRemovedLocalizationRecords>FALSE</showRemovedLocalizationRecords>
                            <showSynchronizationLink>FALSE</showSynchronizationLink>
                            <enabledControls type="array">
                                <info>FALSE</info>
                                <new>FALSE</new>
                                <dragdrop>TRUE</dragdrop>
                                <sort>FALSE</sort>
                                <hide>TRUE</hide>
                                <delete>TRUE</delete>
                                <localize>TRUE</localize>
                            </enabledControls>
                            <levelLinksPosition>both</levelLinksPosition>
                            <headerThumbnail type="array">
                                <field>uid_local</field>
                                <height>165c</height>
                                <width>177c</width>
                            </headerThumbnail>
                        </appearance>
                        <behaviour>
                            <localizationMode>select</localizationMode>
                            <localizeChildrenAtParentLocalization>TRUE</localizeChildrenAtParentLocalization>
                        </behaviour>
                        <foreign_table>sys_file_reference</foreign_table>
                        <foreign_field>uid_foreign</foreign_field>
                        <foreign_sortby>sorting_foreign</foreign_sortby>
                        <foreign_table_field>tablenames</foreign_table_field>
                        <foreign_match_fields type="array">
                            <fieldname>image</fieldname>
                        </foreign_match_fields>
                        <foreign_label>uid_local</foreign_label>
                        <foreign_selector>uid_local</foreign_selector>
                        <maxitems>1</maxitems>
                        <foreign_selector_fieldTcaOverride type="array">
                            <config>
                                <appearance>
                                    <elementBrowserAllowed>gif,jpg,jpeg,tif,tiff,bmp,pcx,tga,png,pdf,ai</elementBrowserAllowed>
                                    <elementBrowserType>file</elementBrowserType>
                                </appearance>
                            </config>
                        </foreign_selector_fieldTcaOverride>
                    </config>
                </TCEforms>
            </image>
        </el>
    </ROOT>
</T3DataStructure>

It would be great, if there will be a solution that works. THX.

#23 Updated by Witali Rott over 3 years ago

There is still a Bug on Flexforms with sections (<section>1</section>).
We must skip the digit values on checking the XML Syntax.
Patch included

#24 Updated by Konstantin Salakhutdinov over 3 years ago

Omg, why is this issue still exist in 7.6.2?... It's one of the main things in CMS - adding images to content elements!

A month ago I installed 7.6.1-dev version for one of my sites and patched it with FormInlineAjaxController.php.patch, after that "500 internal server error" dissapeared, but there were still some minor usability problems with deleting images (they dissapeared only after pressing delete AND saving page).

But now I decided to upgrade from 7.6.1-dev to 7.6.2, upgrade went ok, but I discovered that "500 internal server error" still existt,
BUT ONE THING TERRIFIED ME MOST OF ALL:
All previous inline.fal images are visible as preview in a Page view (http://drif.tt/1NYu3Rl), BUT INVISIBLE AT THE CONTENT ELEMENT ITSELF (http://drif.tt/1R8mNGC) ! HOW IS THAT POSSIBLE ?? All my previous work is gone after this upgrade :(

WHEN WILL THIS USSUE WILL BE FINALLY FIXED? IT'S A SHAME !

P.S.:
This is my code for inline.fal elements:

<flux:field.inline.fal name="settings.images" multiple="TRUE" maxItems="6" enabledControls="{dragdrop:1}" />
<flux:grid>
    <v:resource.record.fal record="{record}" field="image" table="tt_content" as="images">
        <f:for each="{images}" as="image" iteration="iteration">
            <flux:grid.row>
                <flux:grid.column name="content{image.checksum}" label="{v:l(key: 'caption', arguments: '{0: image.name}')}" />
            </flux:grid.row>
        </f:for>
    </v:resource.record.fal>
</flux:grid>

#25 Updated by Christian Wellinghorst over 3 years ago

Konstantin, I assume you are having the same problem I had (though mine appeared in DCE):
Please check if you have compatibility6 installed. If so, this is almost certainly causing the problem.
Compatibility6 slightly changes the data that is used when selecting an inline element - this leads to the problem and the symptoms are the same as they were before the fix in 7.6.1.

I have found a workaround that works for me, but please be aware that I have not done any in-depth testing nor can I guarantee that there are no side-effects. I am pretty certain though that there should be no problems as the workaround only adds some data to the config array for the flexform.

To apply my fix:
Copy the method "addDataStructurePointersToMetaData" from TYPO3\CMS\Backend\Form\FormDataProvider\TcaFlexProcess to the coreesponding file within compatibility6.

In the addData-method of the same file - as the last command within the foreach-loop, add:
$result = $this->addDataStructurePointersToMetaData($result, $fieldName);

This adds the needed field to the config so you can add inline fields again. I don't know if this applies to your situation. The next thing should:

You will still have the problem that stored elements do not show up when you open an element. To fix this, edit TYPO3\CMS\Compatibility6\Form\Container\FlexFormElementContainer and in lines 97ff add

'children' => $flexFormFieldArray['children'],

somewhere to the fakeParameterArray.

This should heopefully solve your problems despite havin compatibility6 installed.

If compatibility6 is not installed: ignore my answer and sorry I couldn't help you.

#26 Updated by Wolfram Eberius over 3 years ago

Hi,

I'm not sure whether this is the right place: the problem still exists within our TYPO3 7.6.2 installation.

Error message is "Configuration retrieved from FlexForm is incomplete or not of type "inline". I confirm the debugging output as Felix: "$parentConfig in FormInlineAjaxController->getParentConfigFromFlexForm does not contain my actual flexform" (https://forge.typo3.org/issues/70918, seems to be the same problem, right?).

So it does not seem to depend on the Flexform content itself.

However, it works when I first save the element that contains an inline relation field and then add a relation (in my case an image, popup appears, I select an image and it is added to my Grid element).

I also checked out (and cherry-picked over branch TYPO3_7-2-6) this patch, mentioned here

Any help would be very much appreciated!

#27 Updated by Christian Wellinghorst over 3 years ago

Hi Wolfram,

since we are developing several new Projects that need this functionality I am curious if I have to expect this behavior to re-appear.
Do you use compatibility6? If so, check my answer above. If not could you provide the version of gridelements you are using?

#28 Updated by Wolfram Eberius over 3 years ago

Hey Christian,

sorry, I should have mentioned that: no, we do not use compatibility6. Our gridelements is at 7.0.0 - just saw there is 7.0.4 available...should we update?

#29 Updated by Stefan Berger over 3 years ago

Hi,

as I mentioned 28 days ago, now the "500 alert box"-Bug (#71564) still exist in the new release 7.6.2.

Unfortunately, I had to patch the source again, being able to add images at least when the content elements are already saved.

At this point I not sure, if this bug ticket is the right one, but the bug ticket #71564 says that it is a dupe of this bug ticket.

Our system is up to date and simple. We use the newest gridelements and no compatibily6 or flux extensions.

So very hopefully this breaking bug will be fixed in the coming releases and I don’t have to repeat myself again.

#30 Updated by Dan no-lastname-given over 3 years ago

Stefan Berger wrote:

Hi,

as I mentioned 28 days ago, now the "500 alert box"-Bug (#71564) still exist in the new release 7.6.2.

Unfortunately, I had to patch the source again, being able to add images at least when the content elements are already saved.

At this point I not sure, if this bug ticket is the right one, but the bug ticket #71564 says that it is a dupe of this bug ticket.

Our system is up to date and simple. We use the newest gridelements and no compatibily6 or flux extensions.

So very hopefully this breaking bug will be fixed in the coming releases and I don’t have to repeat myself again.

@Stefan:
I had the same problem and just found a solution (see #72054) that worked for me.
Maybe you have the same problem as I had.

#31 Updated by Stefan Berger over 3 years ago

Hi Dan,

thanks for your answer, but we have already the php extension mbstring enabled. So this won’t be the solution:(

#32 Updated by Wolfram Eberius over 3 years ago

Hi Dan, thank you, too, but it does neither work me...

#33 Updated by Christian Wellinghorst over 3 years ago

Hey guys!

Sadly, I was able to reproduce this error with 7.6.2 and gridelements. I found a solution that might be a bit hacky, but (until now) works with everything we are using. User "monosize" posted it on GitHub for flux:

https://github.com/FluidTYPO3/flux/issues/1013#issuecomment-160123769

Maybe this helps someone and hopefully there will be a core fix for this soon...

#34 Updated by Witali Rott over 3 years ago

It's not possible with Gridelements and Inline Flex, because you need the parent field tx_gridelements_backend_layout for this.
The best solution is to use the $ajaxArguments['context'] in FormInlineAjaxController for Inline Elements. (https://forge.typo3.org/attachments/download/30171/FormInlineAjaxController.php.patch)

#35 Updated by Witali Rott over 3 years ago

I make a new Patch for TYPO3 7.6.2 which work with gridelements

#36 Updated by Steve Lenz over 3 years ago

Witali Rott wrote:

I make a new Patch for TYPO3 7.6.2 which work with gridelements

I tested your patch in TYPO3 7.6.3-dev and it works fine.

#37 Updated by Patrick Kroog over 3 years ago

I experienced this bug on a gridelement with flexform fal image after updating from 7.5 to 7.6.2.

Another update today to 7.6.3 didn't help either.

I just tried the above patch of witali on 7.6.3. For the moment it lets me add new image relations. Reopening the IRRE-Item fails with same 500-error, but for a quick fix, this is okay for the moment ;-)

#38 Updated by Witali Rott over 3 years ago

A new Patch included
Tested with TYPO3 7.6.4

#39 Updated by Stefan Berger over 3 years ago

Hi,

I could confirm the latest patch will fix the problem using the TYPO3 7.6.4.

Hopefully the patch will be come in the next TYPO3 release.

#40 Updated by Witali Rott over 3 years ago

Please use the Patch from https://forge.typo3.org/issues/73751

#41 Updated by XIMA MEDIA GmbH over 3 years ago

The patch #35 works with TYPO3 7.6.4.

#42 Updated by Wolfram Eberius over 3 years ago

Witali Rott wrote:

A new Patch included
Tested with TYPO3 7.6.4

Witali, for us on TYPO3_7-6-4 your patch in comment #35 worked (https://forge.typo3.org/issues/71436#note-35,and only that one)

#43 Updated by Tobias Gaertner over 3 years ago

nice to have a working patch, BUT why is this marked as resolved if its not integrated in the core jet? Or the target-Version should be set to 7.6.5 ...

#44 Updated by Jo Hasenau over 3 years ago

Just a recommendation for the people running into problems with Gridelements due to the described errors:

Gridelements was never meant to be used with any kind of content in flexforms, since it's purpose actually was to get rid of content in XML strings in just one database field.
So while flexforms might be used to store configurational stuff like checkboxes or dropdowns for several frontend features, the actual content should ALWAYS be put in the columns of a gridelements container.

Putting FAL image relations into a flexform isn't a good idea anyway, but it can be easily avoided by creating a column for that image instead and restricting the allowed elements to "images".
So this is one of the reasons, why we never tried to change that behaviour from the gridelements side, the other one is, that it is a core problem.
Since it can't be fixed that easily, the current recommendation is to get rid of any kind of content in flexforms and to use the actual grid functionality instead.

#45 Updated by Wolfram Eberius over 3 years ago

For TYPO3 7.6.9 we offer a fork including the patch #35: https://github.com/xima-media/TYPO3.CMS/commits/TYPO3_7-6.

#46 Updated by Markus Kobligk almost 3 years ago

I can confirm this patch works, we use it on production system and for every new TYPO3 project, where we need FAL in Flexforms.

The "Done" says 100%, but why is this patch not included in the core or pushed to Gerrit?
Any news on this issue?

#47 Updated by Sven Carstens over 2 years ago

We've build a simple extension to easily demonstrate and reproduce the error.

Demonstrate bug on new gridelement with a flexform containing an inline element

How to reproduce

  • Take TYPO3-7.6 (tested with .15)
  • Install this extension
  • Add demonstration content element via new wizard from special tab
  • Do not save!
  • Add relation
  • Enjoy result
  • Throw away the element
  • Add demonstration grid element via new wizard from gridelements tab
  • Do not save!
  • Add relation
  • Enjoy 500

    Both elements share the same flexform.

    Throwing the exception is \TYPO3\CMS\Backend\Controller\FormInlineAjaxController.
    In the case of the grid based element it has the default flexform loaded:

     {
         "type": "flex",
         "ds_pointerField": "list_type,CType",
         "ds": {
             "meta": {
                 "dataStructurePointers": {
                     "list_type": "",
                     "CType": "gridelements_pi1" 
                 }
             },
             "sheets": {
                 "sDEF": {
                     "ROOT": {
                         "type": "array",
                         "el": {
                             "xmlTitle": {
                                 "label": "The Title:",
                                 "config": {
                                     "type": "input",
                                     "size": "48" 
                                 }
                             }
                         }
                     }
                 }
             }
         },
         "search": {
             "andWhere": "CType='list'" 
         }
     }
    

    Applying the patch from here
    https://github.com/xima-media/TYPO3.CMS/commit/e216c0aafd0452bbd53df8e52f013c034091b2d2
    will resolve the error and we can add inline elements during grid element creation.

#48 Updated by Sven Carstens over 2 years ago

  • % Done changed from 100 to 0

#49 Updated by Leonie Philine Bitto over 2 years ago

I can confirm that with TYPO3 7.6.18, this bug is not fixed.

After applying https://forge.typo3.org/attachments/download/30629/FormInlineAjaxController.php.patch I was able to unfold an inline FAL field contained in a gridelements flexform.

More complete, however, is this patch: https://forge.typo3.org/attachments/download/31098/FormInlineAjaxController.php.patch

So, use the latter one - and please merge it into the core for 7.6.19!

(See also https://github.com/LeoniePhiline/TYPO3.CMS/commit/dbbd153ff3a9e33dd42c9958ba123de32ed8ebac)

Previously to applying the patch, I had received a red "500 Internal Server Error" Ajax box, and a log entry like such:

Core: Exception handler (WEB): Uncaught TYPO3 Exception: #1446996319: Configuration retrieved from FlexForm is incomplete or not of type "inline". | UnexpectedValueException thrown in file [...]/typo3_src/typo3/sysext/backend/Classes/Controller/FormInlineAjaxController.php in line 916. Requested URL: [...]/typo3/index.php?ajaxID=%2Fajax%2Frecord%2Finline%2Fdetails&ajaxToken=[...]

#50 Updated by Andi Peh over 2 years ago

+1 for the bugfix from leonie - previous bugfix solved the problem with new elements. the latter one also solved the issue for already existing elements, when trying to load the details of an image.
also using, typo3 7.6.18 with gridelements 7.1.0

#51 Updated by Markus Zipfel about 2 years ago

  • Related to Bug #82096: Error when adding an inline element inside the FlexForm area of an inline element added

#52 Updated by Markus Zipfel about 2 years ago

I am also able to reproduce the error in TYPO3 7.6.21 and it seems to be still present in v8. Leonie's patch is working for me, too. Additionally I created a new issue: #82096

#53 Updated by Wouter Wolters about 2 years ago

  • Assignee deleted (Morton Jonuschat)

#54 Updated by Riccardo De Contardi almost 2 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF