Using flexParentDatabaseRow in userFunc or itemsProcFunc does not work with compatibility6
Closed this issue · 0 comments
sypets commented
Problem description
The breaking change no 70132 ("FormEngine custom functions") in the TYPO3 core 7.6 suggests using 'flexParentDatabaseRow' instead of 'row' for retrieving the full parent database row in a userFunc / itemsProcFunc.
This will not work, if compatibility6 is installed.
Reproduce
- Use current 7.6 installation (e.g. introduction package)
- Install compatibility6
- Install current tt_address version 4.0.0 as an example (any other extension which uses this functionality will reproduce the same results)
- Create an address plugin content
- Add tt_address static includes and for example the following typoscript
plugin.tx_ttaddress_pi1 {
templatePath = fileadmin/template/ext/tt_address/
defaultTemplateFileName = default_hcard.htm
}
- Create several template files to choose from, e.g.
mkdir -p fileadmin/template/ext/tt_address/
cp typo3conf/ext/tt_address/res/default_hcard.htm fileadmin/template/ext/tt_address/
cp typo3conf/ext/tt_address/res/default_hcard.htm fileadmin/template/ext/tt_address/default_hcard2.htm
- Edit the address plugin and click on "Plugin option" : "Display" : "Template"
Expected result
A dropdown list should appear with the 2 available files.
Actual result
Only default item in list displayed.
Confirm
Deinstall compatibility6 and try again
Reason for problem
$params['flexParentDatabaseRow']['pid'] will be empty. The same problem appears in other extensions if they use the same mechanism.