Kein Produkt mehr aufrufbar nach Update auf 5.2.14

Hallo,

nach Update auf 5.2.14 bricht Shopware beim Aufruf von Produkten mit folgender Fehlermeldung ab:

Assert\InvalidArgumentException: The limit must be greater than equals 1 in /vendor/beberlei/assert/lib/Assert/Assertion.php:212 Stack trace:
#0 /vendor/beberlei/assert/lib/Assert/Assertion.php(1066): Assert\Assertion::createException('0.1', 'The limit must ...', 35, NULL, Array)
#1 /engine/Shopware/Bundle/SearchBundle/Criteria.php(104): Assert\Assertion::min('0.1', 1, 'The limit must ...')
#2 /engine/Shopware/Bundle/StoreFrontBundle/Service/Core/SimilarProductsService.php(143): Shopware\Bundle\SearchBundle\Criteria->limit('0.1')
#3 /engine/Shopware/Bundle/StoreFrontBundle/Service/Core/ProductService.php(164): Shopware\Bundle\StoreFrontBundle\Service\Core\SimilarProductsService->getList(Array, Object(Shopware\Bundle\StoreFrontBundle\Struct\ShopContext))
#4 /engine/Shopware/Bundle/StoreFrontBundle/Service/Core/ProductService.php(147): Shopware\Bundle\StoreFrontBundle\Service\Core\ProductService->createFromListProducts(Array, Object(Shopware\Bundle\StoreFrontBundle\Struct\ShopContext))
#5 /engine/Shopware/Bundle/StoreFrontBundle/Service/Core/ProductService.php(136): Shopware\Bundle\StoreFrontBundle\Service\Core\ProductService->getList(Array, Object(Shopware\Bundle\StoreFrontBundle\Struct\ShopContext))
#6 /engine/Shopware/Core/sArticles.php(1226): Shopware\Bundle\StoreFrontBundle\Service\Core\ProductService->get('RX2203', Object(Shopware\Bundle\StoreFrontBundle\Struct\ShopContext))
#7 /engine/Shopware/Controllers/Frontend/Detail.php(100): sArticles->sGetArticleById(84, NULL, 'RX2203', Array)
#8 /engine/Library/Enlight/Controller/Action.php(159): Shopware_Controllers_Frontend_Detail->indexAction()
#9 /engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch('indexAction')
#10 /engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#11 /engine/Shopware/Kernel.php(179): Enlight_Controller_Front->dispatch()
#12 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(487): Shopware\Kernel->handle(Object(Enlight_Controller_Request_RequestHttp), 1, true)
#13 /engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#14 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(444): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#15 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(344): Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(Object(Symfony\Component\HttpFoundation\Request), true)
#16 /engine/Shopware/Components/HttpCache/AppCache.php(178): Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#17 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(210): Shopware\Components\HttpCache\AppCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#18 /engine/Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#19 /pfad/in/meinem/system/shopware/shopware.php(117): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#20 {main}

Hat irgenwer eine Ahnung?

GrĂŒĂŸe
Pierre

Speicherplatz voll?

 

Nein, der Speicherplatz ist nicht voll.

Hast du irgendwo den Wert 0.1 hinterlegt in Grundeinstellungen? Die Meldung bezieht sich ja darauf, dass wohl ein invalidert Wert definiert ist.

Shopware\Bundle\SearchBundle\Criteria->limit(‘0.1’)

Da bezieht sich ja die Artikel-Filterung / Ausgabe auf eine 0.1

1 Like

Hallo Sebastian,

der Wert war beim Cross-Selling unter “Anzahl automatisch ermittelter, Ă€hnlicher Artikel (Detailseite)” eingetragen. Ich kann dir nicht mehr genau sagen, um was es sich damals gehandelt hat, jedenfalls hatte ich hier im Forum den Tipp erhalten, das dort einzutragen, um irgendeine Fehlfunktion abzufangen.

Ich hab es jetzt auf 0 geÀndert, ich brauche das Coss-Selling nicht.

Ich hab jetzt noch kein weiteres Update versucht, aber wenn wir davon ausgehen, dass das mein Problem beseitigt, ist das wieder so ein Besipiel, wo ich mir eine sorgfĂ€ltigere Entwicklung wĂŒnsche. Wenn ihr eine Funktion implementiert, dann macht ihr euch doch Gedanken darĂŒber, wie der Wertebereich ist und welches Verhalten erwĂŒnscht ist. Wenn ihr dann die Backendelemente gestaltet, sollte dort doch eine Formularfeldvalidierung eingebaut werden, die Fehlbedienung ausschließt, indem sie nur unproblematische Werte zulĂ€sst.

Das gilt ebenso fĂŒr Elemente, die nicht gelöscht werden dĂŒrfen, wie z B. Zahlungsmodule. Es steht zwar in der Anleitung, dass man sie drin lassen soll, weil sonst “unvorhergesehene Fehlfunktionen” auftreten können - sowas gibt es an mehreren Stellen - aber auf die naheliegedende Idee, diesen Elementen den Löschbutton im Backend wegzunehmen, kommt irgendwie keiner.

GrĂŒĂŸe
Pierre

Hallo Pierre,

also warum da bei dir ein solcher Wert drin steht, kann ich nicht sagen. Habe solch einen Tipp auch bisher nicht im Forum gesehen. Es wird auf jeden Fall anders ausgeliefert und auch anders in der Doku beschrieben: http://community.shopware.com/Cross-Selling-Aehnliche-Artikel_detail_1131.html

An vielen Stellen gibt es Valierungen. Aber alles direkt so einzuschrĂ€nken hat sich in der Vergangenheit hĂ€ufig ebenfalls als Problem herausgestellt. Man will ja auch Dinge erweitern oder abĂ€ndern können. FĂŒr jedes Feld unterschiedliche Validierungen zu implementieren macht alles ja noch deutlich komplexer. Auch gerade fĂŒr Plugin-Anbieter etc.
Genau wie deine angesprochene Löschenfunktionen. Einiges kann man dann löschen und einiges nicht. Wie will man sowas erklĂ€ren? Dann kommt ein anderer Anbieter und bietet eine Erweiterung an, die man dann ggf. auch auf einmal nicht mehr entfernen kann? Dann kann man sicher lange drĂŒber schreiben und streiten. Aber etwas sollte man aĂșch in der Administration auf Funktionen und Erweiterungen aufpassen und nicht „einfach mal“ was löschen oder deaktivieren. 

Und wenn man bei der Frage nach der Menge an Artikeln eine 0.1 eintrĂ€gt, dann kann das natĂŒrlich auch Fehler verursachen. Alles kann man einfach nicht von Anfang an einschrĂ€nken. DafĂŒr gibt es einfach auch einen zu großen Funktionsumfang. Bei vielen anderen Systemen hat man halt solche Einstellungsmöglichkeiten erst gar nicht.

Sebastian