Contao Boxes (Content-Box) 5.3.4 crashed unter Contao 5.3.43
Nach dem Update sind Seiten, die eine Content Box eingebunden haben, nicht mehr aufrufbar. Es gibt eine Fehlermeldung, und im Log gibt es diese Meldung.
Code:
2026-01-07T21:09:10.083673+01:00] request.INFO: Matched route "tl_page.53". {"route":"tl_page.53","route_parameters":{"_controller":"Contao\\FrontendIndex::renderPage","_scope":"frontend","_locale":"de","_format":"html","_canonical_route":"tl_page.53","parameters":"","pageModel":{"Contao\\PageModel":[]},"_route":"tl_page.53","_route_object":{"Contao\\CoreBundle\\Routing\\Page\\PageRoute":[]}},"request_uri":"https://domain.net/hessen.html","method":"GET"} {"request_uri":"https://domain.net/hessen.html","request_method":"GET"}
[2026-01-07T21:09:10.273185+01:00] request.CRITICAL: Uncaught PHP Exception ArgumentCountError: "Too few arguments to function VHUG\Contao\Boxes\BoxesContentArticle::__construct(), 1 passed in /var/www/vhosts/2024contao5/vendor/vonheldenundgestalten/contao-boxes/src/Resources/contao/modules/ModuleBoxes.php on line 224 and exactly 2 expected" at BoxesContentArticle.php line 49 {"exception":"[object] (ArgumentCountError(code: 0): Too few arguments to function VHUG\\Contao\\Boxes\\BoxesContentArticle::__construct(), 1 passed in /var/www/vhosts/2024contao5/vendor/vonheldenundgestalten/contao-boxes/src/Resources/contao/modules/ModuleBoxes.php on line 224 and exactly 2 expected at /var/www/vhosts/2024contao5/vendor/vonheldenundgestalten/contao-boxes/src/Resources/contao/elements/BoxesContentArticle.php:49)"} {"request_uri":"https://domain.net/hessen.html","request_method":"GET"}
[2026-01-07T21:09:10.379726+01:00] messenger.INFO: Stopping worker. {"transport_names":["contao_prio_high"]} {"request_uri":"https://domain.net/hessen.html","request_method":"GET"}
kann da jemand helfen?
Liste der Anhänge anzeigen (Anzahl: 1)
habe ein fix in
/vendor/vonheldenundgestalten/contao-boxes/src/Resources/contao/modules/ModuleBoxes.php
Anhang 28222
Import hinzugefügt: use Psr\Log\LoggerInterface; am Anfang der Datei
Logger-Instanz wird jetzt übergeben:
Für BoxesContentArticle wird der Logger aus dem Symfony Container geholt: System::getContainer()->get('monolog.logger.contao')
Dieser wird als zweiter Parameter beim Instanziieren übergeben
Konstruktor-Erkennung:
Die Lösung prüft zuerst explizit, ob es sich um BoxesContentArticle handelt
Falls nicht, verwendet sie Reflection, um zu prüfen, ob andere Klassen ebenfalls einen LoggerInterface Parameter erwarten
Das macht die Lösung zukunftssicher für weitere Klassen, die möglicherweise auch einen Logger benötigen