Actions
Bug #101925
closedCheck if index exists in stdWrap.listNum to avoid PHP warnings
Status:
Closed
Priority:
Should have
Assignee:
-
Category:
TypoScript
Target version:
-
Start date:
2023-09-15
Due date:
% Done:
100%
Estimated time:
TYPO3 Version:
12
PHP Version:
8.2
Tags:
Complexity:
Is Regression:
Sprint Focus:
Description
Let's assume we want to use the 2nd image stored in a page's media field as a background image. We can do something like this in TypoScript to generate some inline CSS:
10 = IMG_RESOURCE 10 { file.import.data = levelmedia:-1, slide file.import.listNum = 1 file.treatIdAsReference = 1 stdWrap.wrap = body {background: url(|) no-repeat; background-size: cover; background-attachment: fixed;} }
But if there is no 2nd image, a PHP warning is generated, which can flood your sys_log over time:
Core: Error handler (FE): PHP Warning: Undefined array key 1 in /typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 2592
The listNum()
method in ContentObjectRenderer currently just blindly returns the specified/calculated index:
return $temp[$index];
I think it would be cleaner and better to do something like this (same behaviour as if the exploded content was empty):
return $temp[$index] ?? '';
Actions