我正在为一个附属项目设置一个跟踪代码。现在我们给了不同的佣金。一个用于食品相关产品,另一个用于非食品相关产品。这些也是我们的税类(食物,非食物)。
我需要显示食品的小计和非食品的小计。
我使用以下代码,但这不起作用:
<?php
//Get Order Number & Order Total
$order = Mage::getModel('sales/order')->loadByIncrementId(Mage::getSingleton('checkout/session')->getLastRealOrderId());
$grandamount = number_format($order->getGrandTotal(),2);
$coupon = $order->getCouponCode();
$amountfood = number_format($order->getSubtotal('Food'), 2);
$amountnonfood = number_format($order->getSubtotal('Non_Food'), 2);
$discount = number_format(0.00 - $order->getDiscountAmount(), 2);
?>如果我使用$amountfood = number_format($order->getSubtotal(), 2);,它确实适用于小计,包括食物值和非食物值。
有人能帮我一下吗。
谢谢,丹尼尔
发布于 2011-05-17 15:17:19
我不认为这些信息是直接提供的: magento以一种全球性的方式存储小计和税收,只有总数,没有详细的信息。
您可以做的是,获取订购的产品,因为每个人得到他的税类,并存储在一个数组的销售价值。
就像这样:
$order = Mage::getModel('sales/order')->load($order_id);
$items = $order->getAllItems();
$subtotals = array();
foreach ($items as $_item) {
if (array_key_exists($subtotals[$_item->getTaxClassId()])) {
$subtotals[$_item->getTaxClassId()] += $_item->getRowTotal();
} else {
$subtotals[$_item->getTaxClassId()] = $_item->getRowTotal();
}
}但不确定是否需要" if“。
希望这有帮助
https://stackoverflow.com/questions/6031024
复制相似问题