নির্ভরতা ইনজেকশন (ডিআই) ব্যবহার করে
নির্ভরতা ইনজেকশন ব্যবহার করে ম্যাজেন্টো 2-এ পণ্যের আইডি এবং এসকিউর মাধ্যমে পণ্যের তথ্য পাওয়ার জন্য উদাহরণ কোড এখানে।
এটিতে আমাদের আমাদের মডিউলটির ব্লক শ্রেণীর নির্মাতায় \ ম্যাজেন্টো \ ক্যাটালগ \ মডেল \ প্রোডাক্ট রিপোসিটরি ক্লাসের অবজেক্টটি ইনজেক্ট করতে এবং ভিউ (.phtml) ফাইলটি থেকে অ্যাক্সেস করতে হবে।
নমুনা ফাইলের পাথ: অ্যাপ / কোড / আপনারকম্প্যানি নাম / আপনারমডুলনাম / ব্লক / আপনার কাস্টমব্লক.এফপি
<?php
namespace YourCompanyName\YourModuleName\Block;
class YourCustomBlock extends \Magento\Framework\View\Element\Template
{
protected $_productRepository;
public function __construct(
\Magento\Framework\View\Element\Template\Context $context,
\Magento\Catalog\Model\ProductRepository $productRepository,
array $data = []
) {
$this->_productRepository = $productRepository;
parent::__construct($context, $data);
}
public function getProductById($id) {
return $this->_productRepository->getById($id);
}
public function getProductBySku($sku) {
return $this->_productRepository->get($sku);
}
}
এখন, আমরা আমাদের ভিউ (.phtml) ফাইলে নিম্নরূপে ফাংশনগুলি ব্যবহার করতে পারি।
// get product by id
$product = $block->getProductById(15);
// get product by sku
$product = $block->getProductBySku('MT12');
echo $product->getEntityId() . '<br>';
echo $product->getName() . '<br>';
echo $product->getSKU() . '<br>';
echo $product->getPrice() . '<br>';
echo $product->getSpecialPrice() . '<br>';
echo $product->getTypeId() . '<br>';
echo $product->getProductUrl() . '<br>';
অবজেক্ট ম্যানেজার ব্যবহার করে
অবজেক্ট ম্যানেজার ব্যবহার করে ম্যাজেন্টো 2-এ প্রোডাক্ট আইডি এবং এসকিউর মাধ্যমে পণ্যের তথ্য পাওয়ার জন্য উদাহরণ কোড এখানে।
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$productRepository = $objectManager->get('\Magento\Catalog\Model\ProductRepository');
// get product by product id
$product = $productRepository->getById(15);
// get product by product sku
$product = $productRepository->get('MT12');
echo $product->getEntityId() . '<br>';
echo $product->getName() . '<br>';
echo $product->getSKU() . '<br>';
echo $product->getPrice() . '<br>';
echo $product->getSpecialPrice() . '<br>';
echo $product->getTypeId() . '<br>';
echo $product->getProductUrl() . '<br>';