系统学习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中获取当前产品的最简单方法。