在 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();