For empty or not existing overlays it's stated and experienced that those records have to be given the value false in method \TYPO3\CMS\Frontend\Page\PageRepository::getRecordOverlay().
Nevertheless if that's done for all tables, records of the table sys_file_metadata might raise an error
(1/1) InvalidArgumentException
Passed variable is not an array or object
in typo3/sysext/frontend/Classes/Aspect/FileMetadataOverlayAspect.php line 53
'sys_file_metadata',
$overlaidMetaData
);
if ($overlaidMetaData !== null) {
$data->exchangeArray($overlaidMetaData);
}
}
}
at ArrayObject->exchangeArray(false)
in typo3/sysext/frontend/Classes/Aspect/FileMetadataOverlayAspect.php line 53
'sys_file_metadata',
$overlaidMetaData
);
if ($overlaidMetaData !== null) {
$data->exchangeArray($overlaidMetaData);
}
}
}
at TYPO3\CMS\Frontend\Aspect\FileMetadataOverlayAspect->languageAndWorkspaceOverlay(object(ArrayObject), 'TYPO3\\CMS\\Core\\Resource\\Index\\MetaDataRepository::recordPostRetrieval')
at call_user_func_array(array(object(TYPO3\CMS\Frontend\Aspect\FileMetadataOverlayAspect), 'languageAndWorkspaceOverlay'), array(object(ArrayObject), 'TYPO3\\CMS\\Core\\Resource\\Index\\MetaDataRepository::recordPostRetrieval'))
in typo3/sysext/extbase/Classes/SignalSlot/Dispatcher.php line 155
if ($slotInformation['passSignalInformation'] === true) {
$preparedSlotArguments[] = $signalClassName . '::' . $signalName;
}
$slotReturn = call_user_func_array([$object, $slotInformation['method']], $preparedSlotArguments);
if ($slotReturn) {
if (!is_array($slotReturn)) {
throw new Exception\InvalidSlotReturnException('The slot method ' . get_class($object) . '->' . $slotInformation['method'] . '()\'s return value is of an not allowed type ('
at TYPO3\CMS\Extbase\SignalSlot\Dispatcher->dispatch('TYPO3\\CMS\\Core\\Resource\\Index\\MetaDataRepository', 'recordPostRetrieval', array(object(ArrayObject)))
in typo3/sysext/core/Classes/Resource/Index/MetaDataRepository.php line 247
* @param \ArrayObject $data
*/
protected function emitRecordPostRetrievalSignal(\ArrayObject $data)
{
$this->getSignalSlotDispatcher()->dispatch(self::class, 'recordPostRetrieval', [$data]);
}
/**
* Signal that is called after an IndexRecord is updated
...
Obviously the error is raised in in typo3/sysext/frontend/Classes/Aspect/FileMetadataOverlayAspect.php line 53 because it's checked for the value null insetad of false.
Therefore corresponding records related to the table sys_file_metadata have to be given the value false.
For empty or not existing overlays it's stated and experienced that those records have to be given the value
false
in method\TYPO3\CMS\Frontend\Page\PageRepository::getRecordOverlay()
.Nevertheless if that's done for all tables, records of the table
sys_file_metadata
might raise an errorObviously the error is raised in in typo3/sysext/frontend/Classes/Aspect/FileMetadataOverlayAspect.php line 53 because it's checked for the value
null
insetad offalse
. Therefore corresponding records related to the table sys_file_metadata have to be given the value false.