magento 2如何在“产品详细信息”选项卡中获取产品对象

时间:2020-06-17 11:44:48

标签: php magento magento2

任何人都可以指导我如何在详细信息选项卡上加载或获取产品对象 https://prnt.sc/t1dpay
我想通过从以下位置加载产品对象来在详细信息页面上显示数据 供应商/magento/module-catalog/view/frontend/templates/product/view/details.phtml

预先感谢

1 个答案:

答案 0 :(得分:0)

在Magento中,存在Magento\Framework\Registry类,其中(其中包括)“当前产品”,以防产品详细信息页面是该页面上显示的产品。

Magento\Framework\Registry已过时,但我还没有找到一个好的选择。因为大多数情况下不赞成使用它,所以我创建了只做一件事的类,因此请从注册表中获取所需的值。在直接使用不推荐使用的类本身或“重写”之间,这是一个中间立场,它封装了不推荐使用的类,并且在将来有必要时可以很容易地换出(整个类,或者特别是get()的实现)

use Magento\Framework\Registry;

class MyCurrentProduct {
    protected $registry;

    public function get(): ProductInterface {
        return $registry->get('current_product');
    }
}

我在示例中遗漏了一些内容,因为我不喜欢发布可复制粘贴的答案。

相关问题