如何获取 Magento 2 订单中每个产品的行总数?
How to get row total of each product in an order on Magento 2?
我正在尝试获取成功页面中每个 row/line 项目的小计,但我不确定要使用什么。
我试过 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();
}
我正在尝试获取成功页面中每个 row/line 项目的小计,但我不确定要使用什么。
我试过 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();
}