Ja, lass dir am besten mal das gesamte $result
-Array ausgeben per:
public function addData(array $result)
{
\TYPO3\CMS\Core\Utility\DebugUtility::debug($result);
...
und schau nach, ob die im Code verwendeten Array Keys überhaupt existieren.
Am Ende wird voraussichtlich die Lösung darin bestehen alle Vorkommen undefinierter Array Keys per ??
(sog. Null-Koaleszenz-Operator) zu behandeln. Also mal rein theoretisch angenommen jeder der hier vorkommenden Array-Keys könnte auch nicht existieren, dann würde der Code beispielsweise so aussehen können, um den Fehler zu verhindern:
Beispiel vorher:
if ('tt_content' !== $result['tableName']
|| empty($result['databaseRow']['colPos'])
|| 999 !== (int)$result['databaseRow']['colPos']
|| ((empty($result['inlineParentUid'])
|| !in_array($result['inlineParentConfig']['foreign_field'], $this->supportedInlineParentFields, true))
&& empty(array_filter(array_intersect_key($result['databaseRow'], array_flip($this->supportedInlineParentFields))))
)
) {
return $result;
}
Beispiel nachher:
if ('tt_content' !== ($result['tableName'] ?? '')
|| empty($result['databaseRow']['colPos'] ?? null)
|| 999 !== (int)($result['databaseRow']['colPos'] ?? 0)
|| ((empty($result['inlineParentUid'] ?? 0)
|| !in_array(($result['inlineParentConfig']['foreign_field'] ?? ''), $this->supportedInlineParentFields, true))
&& empty(array_filter(array_intersect_key(($result['databaseRow'] ?? ''), array_flip($this->supportedInlineParentFields))))
)
) {
return $result;
}
aber wie gesagt ist es ja durchaus denkbar, dass ein paar Keys der Logik nach immer existieren. In solchen Fällen kannst du dir die ??
auch sparen.
Ansonsten kann es natürlich auch sein, dass sich die Array-Struktur in TYPO3 12.4 geändert hat und du die verwendeten Array-Pfade entsprechend anpassen musst. Auch das wird ersichtlich, wenn du dir das Array als Ganzes ausgeben lässt.