Bug #80699
Updated by Thomas Hohn over 7 years ago
We have a BackendPage with some in-line elements and in the inline elements there is foreign TCA relation to another table.
When we create a new element (before saving it) we would like to be able to display the existing relations - but the
UID of the new inline-element is NEWxxxxxxx making it impossible to use AND questions_uid=###REC_FIELD_questions_uid###
in the foreign_table_where. This used to be the case in previous versions of TYPO3.
This could be solved by using the marker @###THIS_UID###@ - however this has the value NEWxxxx since the record has not
yet been saved. Instead the method @processForeignTableClause@ in @TYPO3\CMS\Backend\Form\FormDataProvider\AbstractItemProvider@
should be modified to take the fact:
# The uid contains NEW
# It's an isInlineChild
# The isInlineChildExpanded is expanded
and the use the @$result['inlineParentUid']@ instead of @(int)$result['databaseRow']['uid'];@ like in the
following pseudo code.
@
if ((strpos($result['databaseRow']['uid'], 'NEW') !== false)
&& $result['isInlineChild'] === 1
&& $result['isInlineChildExpanded'] === 1) {
$uid = $result['inlineParentUid']
} else {
$uid = (int)$result['databaseRow']['uid'];
}@