使用产品 ID 或者 SKU 获取产品

在 Magneto2 中,获取产品 ID 和 SKU 可以找到与之对应的想要的产品。所要做的是在 Magento2 的控制台中使用以下命令。

在 Magento2 中如何通过 ID 获取产品

  • 第一步:声明获取产品 ID 和 SKU 的命令

  • 第二步:在模板文件中加载产品 ID

第一步,声明获取产品 ID 和 SKU 的命令

用 Mageplaza_HelloWorld 模块中的块(block) 类,然后在模块的块类的构造函数中注入 \Magento\Catalog\Model\ProductRepository 类。

app/code/Mageplaza/HelloWorld/Block/HelloWorld.php

<?php
namespace Mageplaza\HelloWorld\Block;
class HelloWorld extends \Magento\Framework\View\Element\Template
{	
	protected $_productRepository;
		
	public function __construct(
		\Magento\Backend\Block\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);
	}
}
?>

第二步,在模板文件中获取产品 ID

在模板文件中,使用下面的脚本来通过 ID 和 SKU 获取产品

$id = YOUR_PRODUCT_ID;
$sku = 'YOUR_PRODUCT_SKU';
$_product = $block->getProductById($id);
$_product = $block->getProductBySku($sku);
echo $_product->getEntityId();
echo '<br />';
echo $_product->getName();

本教程翻译自Mageplaza模块开发系列,其他内容请点击下面链接: