API Limit + Filter

Heyho,

ich komm gerade nicht auf den Trichter, warum die API mir alle Ergebnisse zurück schmeißt und nicht die per limit.

storefront-api/product?limit=1&page=5&filter[product.categoryTree]=00bcdc194327d4d539edebde0273bf359

Normalerweise sollte er mir ja 1 Ergebnis zurück schmeißen, die API gibt aber alle Artikel aus und ignoriert limit & page komplett.

PS: Oh mein Gott … mein Fehler :smiley:
Habe die ganze Zeit nur auf „total“: 14 ( die gesamten Items ) geschaut - Ich bekomme aber tatsächlich wie gewünscht nur 1 Produkt zurück. Hat sich daher erledigt :slight_smile:

Allerdings sollte die API hier denke ich auch die Anzahl der Pages zurück geben und nicht nur die totale Anzahl der gesamten Items, oder? :).
Kann man natürlich wieder ausrechnen lassen, schöner wäre es allerdings, wenn die API es direkt beim Limit mit ausgibt.

Moin @Shopwareianer‍

Es gibt bisher drei Optionen für den count.

 Die Konstanten finden sich unter: Core/Framework/DataAbstractionLayer/Search/Criteria.php total-count-mode=0 =\> Es wird gar nicht zurückgegeben wie viele Elemente es insgesamt gibt. Das ist dann enorm schnell.

 total-count-mode=1 =\> Es wird exakt zurückgegeben wie viele Elemente es insgesamt gibt. Das kann bei vielen Datensätzen einen negativen Einfluss auf die Performance haben.

 total-count-mode=2 =\> Hierbei wird geschaut ob es das angegebene Limit \* 5 + 1 Element gibt. Falls ja, wird dir diese Zahl zurückgegeben ansonsten die verbleibende Anzahl an Elementen. So weißt du bei einer Paginierung immer ob es noch 5 weitere Seiten gibt und kannst das entsprechend ausgeben. Das ist ein Kompromiss zu den oberen beien Modi. 

Den Parameter kannst du einfach als query Parameter per API mitgeben.

Viele Grüße,

Jens Küper

1 „Gefällt mir“

@Jens_K‍ Supi, dank dir. Dann schaue ich mir auch mal das Core Repo genauer an.

Gibt es eigentlich schon irgendeinen Plan ob/wie/wann Plugins kommen, um das Backend zu erweitern und damit auch das Frontend/API? Oder steht das derzeit noch gar nicht auf der Todo Liste