Saya ingin menggunakan fungsi seperti getName()
, getPrice()
, dll produk untuk mengambil informasi produk di Magento 2.
Adakah yang bisa menunjukkan kepada saya bagaimana saya bisa mencapai itu?
product
price
magento2
magento-2.0
J. John
sumber
sumber
Jawaban:
Dalam Magento 2 diusulkan untuk menggunakan lapisan layanan untuk ini. Coba gunakan
\Magento\Catalog\Model\ProductRepository::getById
metode untuk mendapatkan produk melalui idsumber
Magento 2 merekomendasikan untuk digunakan
Factories
untuk memuat semua Model. Inilah cara Anda harus melakukannya:Di atas kelas Anda tambahkan baris ini:
Sekarang buat properti kelas:
Di konstruktor Anda, tambahkan ketergantungan:
Sekarang muat produk seperti di bawah ini:
sumber
Di atas jawaban orang lain, saya sangat menyarankan menggunakan metode kontrak layanan berikut:
\Magento\Catalog\Api\ProductRepositoryInterface::getById
: untuk memuat produk dengan id\Magento\Catalog\Api\ProductRepositoryInterface::get
: untuk memuat produk dengan skusumber
Cara Magento yang lebih banyak untuk mencapai hal ini, meskipun sulit untuk diketahui karena kebanyakan tempat di seluruh kode inti melakukannya secara berbeda adalah dengan menggunakan penyimpanan produk.
sumber
untuk ini Anda harus menggunakan di bawah ini
menggunakan
\Magento\Catalog\Model\Resource\Product\CollectionFactory
sumber
Saya telah mengambil detail produk menggunakan fungsi di halaman tampilan produk seperti di bawah ini.
Di sini Sm / Sawyer adalah temanku.
sumber