php - 如何在 Magento 2 的订单中获取每个产品的总行数?
问题描述
我正在尝试获取成功页面中每个行/行项目的小计,但我不确定要使用什么。
我试过了getRowTotal()
,getRowTotalInclTax()
但两者都显示为空白。
我能够获得整个购物车小计,但我需要的是单个产品小计。
这是我正在使用的部分代码:
// Get order details
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$order = $objectManager->create('Magento\Sales\Model\Order')->loadByIncrementId($block->getOrderId());
// Get Each Product Details
$items = $order->getAllItems();
foreach($items as $i) {
$product = $objectManager->create('Magento\Catalog\Model\Product')->load($i->getProductId());
echo $product->getName();
echo $product->getSku();
echo $product->getRowTotal(); // This is where its just coming back blank/null
}
解决方案
您正在加载产品实体:产品实体不能包含订单信息。
您必须使用已使用的 Order Item 实体来获得总行,
如下所示:
// Get order details
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$order = $objectManager->create('Magento\Sales\Model\Order')->loadByIncrementId($block->getOrderId());
// Get Each Product Details
$items = $order->getAllItems();
foreach($items as $i) {
echo $i->getProduct()->getName();
echo $i->getProduct()->getSku();
echo $i->getRowTotal();
}
推荐阅读
- python - 使用 Pandas DataFrae 从两个单独的列表中对字典进行分组
- python - 配置不当:查找上传文件夹时出错。也许它不存在?
- juce - 我可以使用 MAX/MSP 代码制作 iOS 应用吗?
- optimization - 如何用约束对函数进行轮廓化
- reactjs - 类型 '{ loginToken: string; 上不存在属性 'loginToken' } | {错误:错误;} | {用户名:字符串;密码:字符串;}'
- c++ - 当我运行我的代码时,VScode 上的 C++ 不起作用
- ios - Arm64 反汇编时未知指令
- sql - 为什么查询返回每个组合
- firebase - 错误:函数未正确部署(删除可调用函数)
- python - Logstash 错误:尝试启动/运行 logstash 时出现“太多参数”