Project

General

Profile

Actions

Bug #80473

closed

Do not bypass fetch of database record if tableName is tt_content

Added by Faton Haliti about 7 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Must have
Assignee:
Category:
-
Target version:
Start date:
2017-03-27
Due date:
% Done:

100%

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

Description

In the case that one have a custom extension which has flexform and use section which will allow the user to select between possible arrays of objects to create in the form

How to reproduce:
1. Use e.g. (ext:news "composer require georgringer/news")
2. Inside flexform_news.xml in general settings part inside <el> add the code bellow

<testElement>
                        <section>1</section>
                        <type>array</type>
                        <el>
                            <record>
                                <type>array</type>
                                <el>
                                    <question>
                                        <TCEforms>
                                            <label>Question</label>
                                            <config>
                                                <type>input</type>
                                            </config>
                                        </TCEforms>
                                    </question>
                                    <answer1>
                                        <TCEforms>
                                            <label>Answer 1</label>
                                            <config>
                                                <type>input</type>
                                            </config>
                                        </TCEforms>
                                    </answer1>
                                    <answer2>
                                        <TCEforms>
                                            <label>Answer 2</label>
                                            <config>
                                                <type>input</type>
                                            </config>
                                        </TCEforms>
                                    </answer2>
                                    <answer3>
                                        <TCEforms>
                                            <label>Answer 3</label>
                                            <config>
                                                <type>input</type>
                                            </config>
                                        </TCEforms>
                                    </answer3>
                                    <correctanswer>
                                        <TCEforms>
                                            <label>Correct Answer</label>
                                            <config>
                                                <type>radio</type>
                                                <items type="array">
                                                    <numIndex index="0" type="array">
                                                        <numIndex index="0">1</numIndex>
                                                        <numIndex index="1">1</numIndex>
                                                    </numIndex>
                                                    <numIndex index="1" type="array">
                                                        <numIndex index="0">X</numIndex>
                                                        <numIndex index="1">2</numIndex>
                                                    </numIndex>
                                                    <numIndex index="2" type="array">
                                                        <numIndex index="0">2</numIndex>
                                                        <numIndex index="1">3</numIndex>
                                                    </numIndex>
                                                </items>
                                                <default>1</default>
                                            </config>
                                        </TCEforms>
                                    </correctanswer>
                                </el>
                            </record>
                        </el>
                    </testElement>

3. In a specific page under "plugin settings" you have a button with the data added in flexform_news.xml "<testElement>...</testElement>"

Result: Don't show the specific options added in flexform when you click the button.
Expected result: Show the specific options added in flexform when you click the button.

This specific XML structure (the so-called "FlexForm") is stored in the pi_flexform "tt_content" database table which then provides additional form fields in the backend.
With the latest changes on #80100 this will fail because will bypass the fetch of database record if already loaded.

The suggested change is to check if the tableName is not "tt_content" and not bypass the fetch of database record.


Files

editrow.png (153 KB) editrow.png Xavier Perseguers, 2017-03-27 17:26
zone.png (2.97 KB) zone.png Xavier Perseguers, 2017-03-27 17:26

Related issues 3 (0 open3 closed)

Related to TYPO3 Core - Task #80100: Bypass fetch of database record if already loadedClosedXavier Perseguers2017-03-02

Actions
Related to TYPO3 Core - Bug #80426: Creating a FlexForm section causes exception in ajax request (none admin user)Closed2017-03-23

Actions
Related to TYPO3 Core - Bug #80825: FlexForm Sections don't get saved before the parent record was stored to the DBClosedChristian Kuhn2017-04-12

Actions
Actions

Also available in: Atom PDF