Wenn Sie kürzlich Ihr TYPO3-System auf PHP 8 aktualisiert haben, könnten Sie auf eine hartnäckige PHP-Warnung im TYPO3 Systemlog gestoßen sein, die sich auf den Schlüssel „tx_news_pi1“ bezieht.
Nach dem Update auf PHP 8 bemerkte ich hunderte von Warnungen im TYPO3 System Log, die alle auf die gleiche Typoscript Condition hinwiesen:
[request.getQueryParams()['tx_news_pi1']['news'] > 0].
Nach einiger Recherche stellte sich heraus, dass die Syntax für Conditions in TypoScript geändert wurde.
Die Lösung liegt in der Anpassung der Typoscript Condition. Anstelle der alten Syntax verwendet man nun die neue Syntax:[traverse(request.getQueryParams(), 'tx_news_pi1/news') > 0].
Diese Änderung beseitigt die PHP-Warnungen.
In der TYPO3-Dokumentation findet man weitere Informationen zur Implementierung der Symfony Expression Language für TypoScript Conditions, welche die Änderungen in der Syntax erklärt. Der folgende Link führt Sie zur entsprechenden Dokumentation: TYPO3-Dokumentation.
das hat mir gerade sehr geholfen, ich hing genau an diesem Fehler, der mir nach dem Update auf v12 das Frontend kaputt gemacht hat, weil eine php warning wg missing key nun einen echten Exception Fehler auslöst. Ich bin fast verrückt geworden, weil ich die Ursache nicht gefunden hatte, bis ich auf diesen Blogpost stiess. Danke fürs aufschreiben.