Neu Nach Update von 5.2.2 auf 5.2.3 Fatal error (500er) beim aufrufen von Gratisgeschenken

Tyqoun

Aktives Mitglied
22. Juli 2018
12
0
Essen
Hallo zusammen,
ich kann leider "Gratisgeschenke" nicht mehr aufrufen. Folgende Fehlermeldung:

Fatal error: Uncaught TypeError: date_create(): Argument #1 ($datetime) must be of type string, null given in /var/www/vhosts/meinedomain.de/includes/src/Router/Controller/Backend/GiftsController.php:133 Stack trace: #0 /var/www/vhosts/meinedomain.de/includes/src/Router/Controller/Backend/GiftsController.php(133): date_create() #1 /var/www/vhosts/meinedomain.de/includes/src/Router/Controller/Backend/GiftsController.php(62): JTL\Router\Controller\Backend\GiftsController->getCommon() #2 /var/www/vhosts/meinedomain.de/includes/src/Router/Strategy/SmartyStrategy.php(40): JTL\Router\Controller\Backend\GiftsController->getResponse() #3 /var/www/vhosts/meinedomain.de/includes/vendor/league/route/src/Route.php(167): JTL\Router\Strategy\SmartyStrategy->invokeRouteCallable() #4 /var/www/vhosts/meinedomain.de/includes/vendor/league/route/src/Dispatcher.php(59): League\Route\Route->process() #5 /var/www/vhosts/meinedomain.de/includes/src/Router/Middleware/WizardCheckMiddleware.php(45): League\Route\Dispatcher->handle() #6 /var/www/vhosts/meinedomain.de/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\WizardCheckMiddleware->process() #7 /var/www/vhosts/meinedomain.de/includes/src/Router/Middleware/UpdateCheckMiddleware.php(67): League\Route\Dispatcher->handle() #8 /var/www/vhosts/meinedomain.de/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\UpdateCheckMiddleware->process() #9 /var/www/vhosts/meinedomain.de/includes/src/Router/Middleware/AuthMiddleware.php(55): League\Route\Dispatcher->handle() #10 /var/www/vhosts/meinedomain.de/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\AuthMiddleware->process() #11 /var/www/vhosts/meinedomain.de/includes/vendor/league/route/src/Strategy/ApplicationStrategy.php(37): League\Route\Dispatcher->handle() #12 /var/www/vhosts/meinedomain.de/includes/vendor/league/route/src/Dispatcher.php(59): Psr\Http\Server\MiddlewareInterface@anonymous->process() #13 /var/www/vhosts/meinedomain.de/includes/vendor/league/route/src/Dispatcher.php(53): League\Route\Dispatcher->handle() #14 /var/www/vhosts/meinedomain.de/includes/vendor/league/route/src/Router.php(111): League\Route\Dispatcher->dispatchRequest() #15 /var/www/vhosts/meinedomain.de/includes/src/Router/BackendRouter.php(310): League\Route\Router->dispatch() #16 /var/www/vhosts/meinedomain.de/admin/index.php(16): JTL\Router\BackendRouter->dispatch() #17 {main} thrown in /var/www/vhosts/meinedomain.de/includes/src/Router/Controller/Backend/GiftsController.php on line 133

Die erscheint auch nur beim klick auf "Gratisgeschenke". Alles andere funktioniert.
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
529
Halle
Das passiert offensichtlich, wenn ein Gratisgeschenk einer Bestellung zugeordnet ist, die es nicht (mehr) gibt. Also ursächlich eine Datenbank-Inkosistenz.
Als Workaround - um den Fehler zu unterdrücken - könnte man in includes/src/Router/Controller/Backend/GiftsController.php (133) die Zeile
PHP:
'lastOrdered'   => \date_format(\date_create($item->lastOrdered), 'd.m.Y H:i:s'),
zu
PHP:
'lastOrdered'   => $item->lastOrdered === null ? '' : \date_format(\date_create($item->lastOrdered), 'd.m.Y H:i:s'),
ändern.
Besser wäre es aber die Daten zu bereinigen.
 

Tyqoun

Aktives Mitglied
22. Juli 2018
12
0
Essen
Das passiert offensichtlich, wenn ein Gratisgeschenk einer Bestellung zugeordnet ist, die es nicht (mehr) gibt. Also ursächlich eine Datenbank-Inkosistenz.
Als Workaround - um den Fehler zu unterdrücken - könnte man in includes/src/Router/Controller/Backend/GiftsController.php (133) die Zeile
PHP:
'lastOrdered'   => \date_format(\date_create($item->lastOrdered), 'd.m.Y H:i:s'),
zu
PHP:
'lastOrdered'   => $item->lastOrdered === null ? '' : \date_format(\date_create($item->lastOrdered), 'd.m.Y H:i:s'),
ändern.
Besser wäre es aber die Daten zu bereinigen.
Das mit dem Code funktioniert - Danke. Um auf die Seite zu kommen, hatte ich die beiden Zeilen 133 / 169 aus kommentiert.
 

Ähnliche Themen