如何获取 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(); 
}