Neu 5.21 - Fatal Error sobald Artikel im Warenkorb

  • Wichtiger Hinweis Liebe Kunden, solltet Ihr den DATEV Rechnungsdatenservice 2.0 nutzen, dann müsst Ihr bis zum 30.06.2024 JTL-Wawi 1.9 installieren. Danach wird die Schnittstelle für ältere Versionen nicht mehr unterstützt.

JohnFrea

Sehr aktives Mitglied
21. September 2017
732
223
Hallo,

leider liefert mein Shop nach dem Update auf 5.21 einen Fatal Error, sobald ein Artikel in den Warenkorb gelegt wurde.

Browser neu starten und der Shop lässt sich wieder aufrufen, bis man einen Artikel in den Warenkorb legt.

Code:
Fatal error: Uncaught ValueError: array_combine(): Argument #1 ($keys) and argument #2 ($values) must have the same number of elements in /www/htdocs/xxxxx/meinshop.de.de/includes/vendor/illuminate/collections/Collection.php:834 Stack trace: #0 /www/htdocs/xxxxx/meinshop.de.de/includes/vendor/illuminate/collections/Collection.php(834): array_combine(Array, Array) #1 /www/htdocs/xxxxx/meinshop.de.de/includes/src/Helpers/ShippingMethod.php(273): Illuminate\Support\Collection->combine(Object(Illuminate\Support\Collection)) #2 /www/htdocs/xxxxx/meinshop.de.de/includes/src/Helpers/ShippingMethod.php(1388): JTL\Helpers\ShippingMethod::getPossibleShippingMethods('DE', '', '1', 1) #3 /www/htdocs/xxxxx/meinshop.de.de/includes/src/Router/Controller/AbstractController.php(335): JTL\Helpers\ShippingMethod::getFreeShippingMinimum(1, '') #4 /www/htdocs/xxxxx/meinshop.de.de/includes/src/Router/Controller/ProductListController.php(144): JTL\Router\Controller\AbstractController->preRender() #5 /www/htdocs/xxxxx/meinshop.de.de/includes/src/Router/Controller/CategoryController.php(80): JTL\Router\Controller\ProductListController->getResponse(Object(Laminas\Diactoros\ServerRequest), Array, Object(JTL\Smarty\JTLSmarty)) #6 /www/htdocs/xxxxx/meinshop.de.de/includes/src/Router/Controller/DefaultController.php(114): JTL\Router\Controller\CategoryController->getResponse(Object(Laminas\Diactoros\ServerRequest), Array, Object(JTL\Smarty\JTLSmarty)) #7 /www/htdocs/xxxxx/meinshop.de.de/includes/src/Router/Strategy/SmartyStrategy.php(40): JTL\Router\Controller\DefaultController->getResponse(Object(Laminas\Diactoros\ServerRequest), Array, Object(JTL\Smarty\JTLSmarty)) #8 /www/htdocs/xxxxx/meinshop.de.de/includes/vendor/league/route/src/Route.php(167): JTL\Router\Strategy\SmartyStrategy->invokeRouteCallable(Object(League\Route\Route), Object(Laminas\Diactoros\ServerRequest)) #9 /www/htdocs/xxxxx/meinshop.de.de/includes/vendor/league/route/src/Dispatcher.php(59): League\Route\Route->process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher)) #10 /www/htdocs/xxxxx/meinshop.de.de/includes/src/Router/Middleware/PhpFileCheckMiddleware.php(36): League\Route\Dispatcher->handle(Object(Laminas\Diactoros\ServerRequest)) #11 /www/htdocs/xxxxx/meinshop.de.de/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\PhpFileCheckMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher)) #12 /www/htdocs/xxxxx/meinshop.de.de/includes/src/Router/Middleware/OptinMiddleware.php(49): League\Route\Dispatcher->handle(Object(Laminas\Diactoros\ServerRequest)) #13 /www/htdocs/xxxxx/meinshop.de.de/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\OptinMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher)) #14 /www/htdocs/xxxxx/meinshop.de.de/includes/src/Router/Middleware/CurrencyCheckMiddleware.php(26): League\Route\Dispatcher->handle(Object(Laminas\Diactoros\ServerRequest)) #15 /www/htdocs/xxxxx/meinshop.de.de/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\CurrencyCheckMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher)) #16 /www/htdocs/xxxxx/meinshop.de.de/includes/src/Router/Middleware/LocaleCheckMiddleware.php(34): League\Route\Dispatcher->handle(Object(Laminas\Diactoros\ServerRequest)) #17 /www/htdocs/xxxxx/meinshop.de.de/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\LocaleCheckMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher)) #18 /www/htdocs/xxxxx/meinshop.de.de/includes/src/Router/Middleware/CartcheckMiddleware.php(25): League\Route\Dispatcher->handle(Object(Laminas\Diactoros\ServerRequest)) #19 /www/htdocs/xxxxx/meinshop.de.de/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\CartcheckMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher)) #20 /www/htdocs/xxxxx/meinshop.de.de/includes/src/Router/Middleware/WishlistCheckMiddleware.php(24): League\Route\Dispatcher->handle(Object(Laminas\Diactoros\ServerRequest)) #21 /www/htdocs/xxxxx/meinshop.de.de/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\WishlistCheckMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher)) #22 /www/htdocs/xxxxx/meinshop.de.de/includes/src/Router/Middleware/SSLRedirectMiddleware.php(43): League\Route\Dispatcher->handle(Object(Laminas\Diactoros\ServerRequest)) #23 /www/htdocs/xxxxx/meinshop.de.de/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\SSLRedirectMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher)) #24 /www/htdocs/xxxxx/meinshop.de.de/includes/src/Router/Middleware/MaintenanceModeMiddleware.php(40): League\Route\Dispatcher->handle(Object(Laminas\Diactoros\ServerRequest)) #25 /www/htdocs/xxxxx/meinshop.de.de/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\MaintenanceModeMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher)) #26 /www/htdocs/xxxxx/meinshop.de.de/includes/vendor/league/route/src/Strategy/ApplicationStrategy.php(37): League\Route\Dispatcher->handle(Object(Laminas\Diactoros\ServerRequest)) #27 /www/htdocs/xxxxx/meinshop.de.de/includes/vendor/league/route/src/Dispatcher.php(59): Psr\Http\Server\MiddlewareInterface@anonymous->process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher)) #28 /www/htdocs/xxxxx/meinshop.de.de/includes/vendor/league/route/src/Dispatcher.php(53): League\Route\Dispatcher->handle(Object(Laminas\Diactoros\ServerRequest)) #29 /www/htdocs/xxxxx/meinshop.de.de/includes/vendor/league/route/src/Router.php(111): League\Route\Dispatcher->dispatchRequest(Object(Laminas\Diactoros\ServerRequest)) #30 /www/htdocs/xxxxx/meinshop.de.de/includes/src/Router/Router.php(659): League\Route\Router->dispatch(Object(Laminas\Diactoros\ServerRequest)) #31 /www/htdocs/xxxxx/meinshop.de.de/includes/src/Shop.php(455): JTL\Router\Router->dispatch(Object(JTL\Smarty\JTLSmarty)) #32 /www/htdocs/xxxxx/meinshop.de.de/index.php(7): JTL\Shop::dispatch() #33 {main} thrown in /www/htdocs/xxxxx/meinshop.de.de/includes/vendor/illuminate/collections/Collection.php on line 834

Scheint noch nicht im Forum behandelt worden zu sein. JTL Ticket 2023011810002286 eröffnet...

JohnFrea
 

JohnFrea

Sehr aktives Mitglied
21. September 2017
732
223
Ja, das war der Fehler.
Ich habe die Kommata aus den Beschreibungen der Versandtexte entfernt.

Euer Patch ist aber auch "mutig"

Im einfachsten Fall ist ein Trennzeichen zu verwenden, dass in den Texten normalerweise nicht vorkommt.

Welches Zeichen kommt denn "normaleweise" nicht vor?!? Könnt Ihr das nicht irgendwie quoten/escapen anstatt eine unsaubere Lösung durch eine weniger unsaubere zu ersetzten?
 

MHillmann

Moderator
Mitarbeiter
11. Oktober 2018
1.322
454
Der Hotfix ist an der Stelle wirklich hot und wird so natürlich nicht übernommen. Es wird in der 5.2.2 eine saubere Lösung geben :)
Soweit ich das sehe sind nur Komma und Tilde "gefährlich"..
 
  • Gefällt mir
Reaktionen: hula1499 und JohnFrea

MarcoWue

Aktives Mitglied
20. Dezember 2018
55
15
Wer kommt denn auf die Idee, Kommata in Beschreibungstexten zu verbieten? Hoffentlich wird bei SQL Injections und anderen Sicherheits-Basics weniger nachlässig gearbeitet.
Wann können wir mit der 5.2.2 rechnen?
 

AMP-Agentur

Offizieller Servicepartner
SPBanner
19. Juli 2011
349
43
Magdeburg
Wo müssen die Kommas genau entfernt werden?
Aha, ich habe den Fehler gefunden.

Bei Lieferzeit-Freitext (Deutsch) stand: keine Lieferung, nur Selbstabholung möglich. Das Komma habe ich durch einen Bindestrich ersetzt und schon läuft es.
 

Ähnliche Themen