मैं जैसे कार्यों का उपयोग करना चाहते getName(), getPrice()Magento 2 में उत्पाद जानकारी प्राप्त कर सके, उत्पाद की आदि।
क्या कोई मुझे दिखा सकता है कि मैं इसे कैसे प्राप्त कर सकता हूं?
मैं जैसे कार्यों का उपयोग करना चाहते getName(), getPrice()Magento 2 में उत्पाद जानकारी प्राप्त कर सके, उत्पाद की आदि।
क्या कोई मुझे दिखा सकता है कि मैं इसे कैसे प्राप्त कर सकता हूं?
जवाबों:
Magento 2 में इसके लिए सेवा परत का उपयोग करने का प्रस्ताव दिया गया। \Magento\Catalog\Model\ProductRepository::getByIdआईडी द्वारा उत्पाद प्राप्त करने के लिए विधि का उपयोग करने का प्रयास करें
Magento 2 Factoriesसभी मॉडलों को लोड करने के लिए उपयोग करने की अनुशंसा करता है । यहां बताया गया है कि आपको यह कैसे करना चाहिए:
अपनी कक्षा के ऊपर इस पंक्ति को जोड़ें:
use Magento\Catalog\Model\ProductFactory;अब वर्ग संपत्ति बनाएँ:
protected $productFactory;अपने निर्माता में, निर्भरता जोड़ें:
public function __construct(
ProductFactory $productFactory
) {
$this->productFactory = $productFactory;
}अब नीचे के रूप में उत्पाद लोड:
$_product = $this->productFactory->create()->load(<product_id>);अन्य उत्तरों के शीर्ष पर, मैं निम्नलिखित सेवा अनुबंध विधियों का उपयोग करने का सुझाव देता हूं :
\Magento\Catalog\Api\ProductRepositoryInterface::getById : किसी उत्पाद को आईडी द्वारा लोड करना\Magento\Catalog\Api\ProductRepositoryInterface::get : स्कू द्वारा किसी उत्पाद को लोड करनाइसे प्राप्त करने का अधिक मैगेंटो तरीका है, हालांकि यह बताना मुश्किल है क्योंकि वे पूरे कोर कोड के अधिकांश स्थानों को अलग-अलग करते हैं, उत्पाद रिपॉजिटरी का उपयोग करना है।
use Magento\Catalog\Model\ProductRepository;
protected $productRepository;
public function __construct(
ProductRepository $productRepository
) {
$this->productRepository = $productRepository;
}
public function getMyProduct($productId)
{
return $this->productRepository->getById($productId);
}
मेरे पास नीचे दिए गए उत्पाद दृश्य पृष्ठ में फ़ंक्शन का उपयोग करके उत्पाद विवरण है।
यहाँ Sm / Sawyer मेरा विषय है।
$_config = $this->helper('Sm\Sawyer\Helper\Data');
$productId = $this->getProduct()->getId();
$name = $this->getProduct()->getName();
$stock1 = $this->getProduct()->getQty();
$price = $this->getProduct()->getPrice();