Tandai sekarang @SiarheyUchukhlebau jawaban sudah benar ....
P0lT10n
Jawaban:
22
Anda harus menggunakan Magento\Catalog\Model\ProductRepositoryatau Magento\Catalog\Model\ResourceModel\Product\Collectionsesuai kebutuhan Anda. Anda dapat menggunakan kedua metode untuk mendapatkan contoh produk dengan semua data.
hai @siarhey, saya mendapatkan hasil kosong dengan kode Anda. Apakah Anda punya tips tentang itu? Mungkinkah karena saya mencoba mengambil daftar dari tugas cron?
Lorenzo S
@ LorenzoS Hai, contoh mana yang Anda gunakan 1 atau 2? Apakah ada produk saat Anda menghapus semua filter / kondisi?
Siarhey Uchukhlebau
Bagaimana cara mendapatkan tab "Variabel" ini dengan objek pohon di tangkapan layar Anda?
jawaban yang bagus, @SiarheyUchukhlebau tetapi apa yang Anda maksud dengan Jika Anda hanya membutuhkan data produk, gunakan kelas satu. Jika Anda perlu mendapatkan contoh produk - gunakan kelas dua.
Yehia A.Salam
2
Menggunakan panggilan API REST:
https://{host}/rest/V1/products/?searchCriteria=
Mengambil kembali semua produk. "searchCriteria" adalah param yang diperlukan, tetapi dapat dibiarkan kosong, seperti di atas.
Jawaban yang paling banyak dipilih adalah bekerja tetapi saya ingin menyebutkan bahwa di sini dengan menyuntikkan implementasi repositori produk secara langsung akan menyebabkan pelanggaran prinsip kontrak layanan & itu adalah sesuatu yang Magento ingin pengembang perbaiki. Anda harus menyuntikkan \Magento\Catalog\Api\ProductRepositoryInterface $productRepositorybukan implementasi itu \Magento\Catalog\Model\ProductRepository $productRepository. Dengan begitu Anda akan memiliki ruang untuk kemampuan peningkatan di masa mendatang. Intinya adalah menggunakan kontrak Layanan sebanyak mungkin.
Jawaban:
Anda harus menggunakan
Magento\Catalog\Model\ProductRepository
atauMagento\Catalog\Model\ResourceModel\Product\Collection
sesuai kebutuhan Anda. Anda dapat menggunakan kedua metode untuk mendapatkan contoh produk dengan semua data.Contoh 1 (Repositori):
Hasil:
Contoh 2 (Koleksi):
Hasil:
sumber
Menggunakan panggilan API REST:
Mengambil kembali semua produk. "searchCriteria" adalah param yang diperlukan, tetapi dapat dibiarkan kosong, seperti di atas.
sumber
Jawaban yang paling banyak dipilih adalah bekerja tetapi saya ingin menyebutkan bahwa di sini dengan menyuntikkan implementasi repositori produk secara langsung akan menyebabkan pelanggaran prinsip kontrak layanan & itu adalah sesuatu yang Magento ingin pengembang perbaiki. Anda harus menyuntikkan
\Magento\Catalog\Api\ProductRepositoryInterface $productRepository
bukan implementasi itu\Magento\Catalog\Model\ProductRepository $productRepository
. Dengan begitu Anda akan memiliki ruang untuk kemampuan peningkatan di masa mendatang. Intinya adalah menggunakan kontrak Layanan sebanyak mungkin.sumber
Anda dapat melakukan ini melalui permintaan api. Lihatlah api standar m2
pikir menembak Anda yang lebih baik adalah catalogProductRepositoryV1
sumber