Ich bin auf der Suche nach einem curl-Befehl mit dem ich alle Produktdaten auslesen kann. Der curl-Befehl für Fetch a list of products wie er in der Beschreibung steht (Fetch a list of products | Store API) funktioniert bei mir nicht, egal welche Anpassungen ich vornehme. Und beim einfachen Befehl bekomme ich nur die Daten für 100 Produkte. Liegt dies an meiner Shopware-Version (v6.4.8.2)?
schau mal hier in diese Datei /vendor/shopware/core/Framework/Resources/config/packages/shopware.yaml
api:
max_limit: 100
Sprich es kommen max. 100 Objekte zurück. Ein großer Wert erzeugt dann evtl. große Downloads und könnte zu einem DOS führen. Z.B. wenn ein Entwickler - unbeabsichtigt - eine endlos Schleife und dann einen Shop mit 100K Artikel 10mal in der Sekunde mit einem komplett Download bombardiert …
Sorry, das habe ich auch schon ausprobiert. Leider ändert dies nichts, da es scheinbar keine Auswirkung hat. Die Fehlermeldung bleibt: “FRAMEWORK__QUERY_LIMIT_EXCEEDED“
The limit must be lower than or equal to MAX_LIMIT(=100). Given: 2000",„source“:{„pointer“:„/limit“},„meta“:{„parameters“:{„maxLimit“:100,„limit“:2000}
Danach auch Cache geleert, damit die Änderung übernommen wird?
Ich habe das Cache mit CLI (cache:clear) gelöscht und auch im Backend. Leider bewirkt dies nichts
Das ist die Lösung: um Änderungen vorzunehmen, muss man die folgende Core Datei /framework/resources/config/packages/shopware.yaml in das Stammverzeichnis des Shops unter config/packages/shopware.yaml kopieren, nun kann man die Datei bearbeiten, um eine Funktion zu aktivieren/deaktivieren.
Nun funktioniert es auch
Leider nicht ganz. Ich habe nun festgestellt, dass nur ein Teil der Produkte aufgerufen wird. (Keine Timeout usw., wahrscheinlich nur aktive Produkte …). Ist trotzdem schlecht, da ich alle Produkte benötige.