Markieren Sie jetzt @SiarheyUchukhlebau Antwort als richtig ....
P0lT10n
Antworten:
21
Sie sollten verwenden Magento\Catalog\Model\ProductRepositoryoder Magento\Catalog\Model\ResourceModel\Product\Collectionnach Ihren Bedürfnissen. Sie können beide Methoden verwenden, um Produktinstanzen mit allen Daten abzurufen.
hi @siarhey, ich bekomme ein leeres Ergebnis mit deinem Code. Hast du irgendwelche Tipps dazu? Könnte es daran liegen, dass ich versuche, die Liste von einer Cron-Aufgabe abzurufen?
Lorenzo S
@ LorenzoS Hallo, welches Beispiel verwendest du 1 oder 2? Gibt es ein Produkt, wenn Sie alle Filter / Bedingungen entfernen?
Siarhey Uchukhlebau
Wie erhalten Sie diese Registerkarte "Variablen" mit dem Objektbaum in Ihrem Screenshot?
tolle Antwort, @SiarheyUchukhlebau, aber was meinst du mit Wenn du nur Produktdaten brauchst, benutze die erste Klasse. Wenn Sie die Produktinstanzen benötigen, verwenden Sie die zweite Klasse.
Yehia A. Salam
1
Verwenden eines REST-API-Aufrufs:
https://{host}/rest/V1/products/?searchCriteria=
Ruft alle Produkte ab. "searchCriteria" ist ein erforderlicher Parameter, kann aber wie oben leer gelassen werden.
Die am besten bewertete Antwort funktioniert, aber ich möchte erwähnen, dass hier durch direktes Einfügen einer Produkt-Repository-Implementierung der Verstoß gegen das Prinzip des Servicevertrags verursacht wird. Magento möchte, dass Entwickler dies korrigieren. Sie sollten \Magento\Catalog\Api\ProductRepositoryInterface $productRepositoryanstelle der Implementierung injizieren \Magento\Catalog\Model\ProductRepository $productRepository. Auf diese Weise haben Sie Platz für zukünftige Upgrade-Funktionen. Fazit ist, Serviceverträge so weit wie möglich zu nutzen.
Antworten:
Sie sollten verwenden
Magento\Catalog\Model\ProductRepository
oderMagento\Catalog\Model\ResourceModel\Product\Collection
nach Ihren Bedürfnissen. Sie können beide Methoden verwenden, um Produktinstanzen mit allen Daten abzurufen.Beispiel 1 (Repository):
Ergebnis:
Beispiel 2 (Sammlung):
Ergebnis:
quelle
Verwenden eines REST-API-Aufrufs:
Ruft alle Produkte ab. "searchCriteria" ist ein erforderlicher Parameter, kann aber wie oben leer gelassen werden.
quelle
Die am besten bewertete Antwort funktioniert, aber ich möchte erwähnen, dass hier durch direktes Einfügen einer Produkt-Repository-Implementierung der Verstoß gegen das Prinzip des Servicevertrags verursacht wird. Magento möchte, dass Entwickler dies korrigieren. Sie sollten
\Magento\Catalog\Api\ProductRepositoryInterface $productRepository
anstelle der Implementierung injizieren\Magento\Catalog\Model\ProductRepository $productRepository
. Auf diese Weise haben Sie Platz für zukünftige Upgrade-Funktionen. Fazit ist, Serviceverträge so weit wie möglich zu nutzen.quelle
Sie können dies über eine API-Anfrage tun. Schauen Sie sich die Standard- API von m2 an
Ich denke, dein besseres Shooting ist catalogProductRepositoryV1
quelle