当前位置: 技术文章>> 如何在Magento 2中获取当前产品

文章标题:如何在Magento 2中获取当前产品
  • 文章分类: Magento
  • 23849 阅读
系统学习magento二次开发,推荐小册:《Magento中文全栈二次开发 》

本小册面向Magento2以上版本,书代码及示例兼容magento2.0-2.4版本。涵盖了magento前端开发,后端开发,magento2主题,magento2重写,magento2 layout,magento2控制器,magento2 block等相关内容,带领您成为magento开发技术专家。


在Magento 2中获取当前产品的步骤:

第 1 步:在我们的自定义扩展上创建一个块文件

在 以下路径中添加Blockname.php

app\code\Vendor\Extension\Block\Blockname.php

现在添加以下代码

<?php
namespace Vendor\Extension\Block;
 
use Magento\Framework\View\Element\Template;
 
class Blockname extends Template
{
 
    protected $_registry;
 
    public function __construct(
        \Magento\Backend\Block\Template\Context $context,
        \Magento\Framework\Registry $registry,
    )
    {
        $this->_registry = $registry;
        parent::__construct($context);
    }
 
    public function getCurrentProduct()
    {
        return $this->_registry->registry('current_product');
    }
 
}

第2步: 现在,我们将在模板phtml文件中获取当前产品

// print current product data
if ($currentProduct = $block->getCurrentProduct()) {
    echo $currentProduct->getName() . '<br />';
    echo $currentProduct->getSku() . '<br />';
    echo $currentProduct->getFinalPrice() . '<br />';
    echo $currentProduct->getProductUrl() . '<br />';
    print_r ($currentProduct->getCategoryIds()) . '<br />';
}

结语:

上面描述是在Magento 2中获取当前产品的最简单方法。


推荐文章