1

我想在产品售出后获得产品价格。我从订单中获取所有产品(从可配置和捆绑产品中获取简单产品)。我想从销售订单中获取简单产品的价格。

如果我使用

$item->getPrice();

我没有得到正确的价格。请建议。

<?php
require_once('app/Mage.php'); //Path to Magento
umask(0);
Mage::app("default");

$orderNumber = 100000058;       
$order = Mage::getModel('sales/order')->loadByIncrementId($orderNumber);
    // get order total value
$orderValue = number_format ($order->getGrandTotal(), 2, '.' , $thousands_sep = '');
    // get order item collection
$orderItems = $order->getItemsCollection();

    $skuQtyArray = array();
    foreach ($orderItems as $item)
    {        
         $product_sku = $item->sku;
        $product_name = $item->getName();
         $product_qty = $item->getQtyOrdered();

        $product = Mage::getModel('catalog/product')->loadByAttribute('sku', $product_sku);         

        $productType=$product->getTypeID();         

        if($productType=='simple')
        {                           
                echo "orderNumber = ".$orderNumber."<br/>";                         
                echo "Item_id = ".$item_id."<br/>";     
                echo "product_name = ".$product_name."<br/>";           
                echo "product_sku = ".$product_sku."<br/>";

                $skuQtVal = $product_sku."=".$product_qty;              
                $skuQtyArray[] = $skuQtVal;
        }

    }       
?>

更新: 我很久以前就问过这个问题,它$order->getItemsCollection();也适用,那时我不确定价格的确切问题是什么。接受的答案也可以正常工作。

4

2 回答 2

0

尝试使用 - getAllItems() 而不是 getItemsCollection()

于 2013-11-11T12:55:47.683 回答
0

我不知道税务领域。但直觉上你使用 price_incl_tax。关于订单商品价格的折扣。如果您包含折扣券,则价格字段不会更改。只有 discount_amount 字段,即 magento 用于获取该产品行的值的总数。

于 2013-11-08T17:04:13.343 回答