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 „Gefällt mir“

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