在控制器 Magento 2 中获取当前产品信息?



我想在控制器中获取当前产品信息。

我在块中创建了一个函数,并在我的 phtml 文件中调用了该函数。

如何完成此任务?

参考本文 - https://www.atwix.com/magento-2/alternatives-for-deprecated-registry-class-magento-2-3/

您可以:

  1. 将 \Magento\Catalog\Model\Session 添加到控制器的构造器中,以便它可以实例化目录会话对象:
public function __construct(
Context $context,
MagentoCatalogModelSession $catalogSession
) {
$this->catalogSession = $catalogSession;
parent::__construct($context);
}
  1. 在控制器的执行方法中获取 ProductId 使用:
$productId = $this->catalogSession->getData('last_viewed_product_id');
  1. 使用产品 ID,您可以加载产品数据:
$product = $this->productFactory->create()->load($productId);

要通过控制器获取产品详细信息,您可以参考以下链接:

http://blog.chapagain.com.np/magento-2-get-current-category-current-product/https://www.mageplaza.com/how-get-current-product-category-magento-2.html

最新更新