Project

General

Profile

Actions

Bug #100351

open

ElementBrowserRecordlist::isRowListingConditionFulfilled does not work with flexforms

Added by Nikolas Hagelstein about 1 year ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2023-03-29
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
11
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

Story
The element browser should respect the filter property of group fields.
This works for regular TCA group field definitions but not for group fields comming from a flexform.
This missbehavior is caused by function isRowListingConditionFulfilled fetching the field configuration from from the relating table and field which in case of a flexform is always "tt_conntent"/pi_flexfrom insteand of the actual configuration within the flexform.

Therefor filter userfunc are not executed for groupfields configured within flexforms.

Reproduce
Add a flexform to a plugin.
E.g.:

<config>
    <type>group</type>
    <internal_type>db</internal_type>
    <allowed>tx_foo_domain_model_bar</allowed>
    <minitems>1</minitems>
    <filter>
        <numIndex index="0">
            <userFunc>Foo/User/Filter->doFilter</userFunc>
            <parameters>
                <myParameter>abc</myParameter>
            </parameters>
        </numIndex>
    </filter>
</config>    

Expected Behavior
Foo/User/Filter->doFilter should be called

Actual Behavior
Foo/User/Filter->doFilter is not called because isRowListingConditionFulfilled looks for a filter in

$GLOBALS['TCA']['tt_content']['columns']['pi_flexform']['config']

Possible Solution
Introduce an exception for pi_flexform. Not that easy though because the content of the pi_flexform is not available at this point.

No data to display

Actions

Also available in: Atom PDF