আমি মতো কাজগুলির ব্যবহার করতে চান 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);
}
নীচের মত পণ্য ভিউ পৃষ্ঠায় ফাংশন ব্যবহার করে আমার কাছে পণ্য বিবরণ আনতে হবে।
এখানে এসএম / সাওয়ার আমার থিম।
$_config = $this->helper('Sm\Sawyer\Helper\Data');
$productId = $this->getProduct()->getId();
$name = $this->getProduct()->getName();
$stock1 = $this->getProduct()->getQty();
$price = $this->getProduct()->getPrice();