任何人都可以指导我如何在详细信息选项卡上加载或获取产品对象
https://prnt.sc/t1dpay
我想通过从以下位置加载产品对象来在详细信息页面上显示数据
供应商/magento/module-catalog/view/frontend/templates/product/view/details.phtml
预先感谢
答案 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');
}
}
我在示例中遗漏了一些内容,因为我不喜欢发布可复制粘贴的答案。