Получить подытог для каждого значения налога в Magento - PullRequest
1 голос
/ 17 мая 2011

Я устанавливаю код отслеживания для партнерских программ.Теперь мы даем разные комиссии.Один для продуктов, связанных с продуктами питания, и один для продуктов, не связанных с продуктами питания.Это также налоговые классы, которые у нас есть (Еда, Непродовольственные товары).

Мне нужно отобразить промежуточный итог для пищевых продуктов и промежуточный итог для непродовольственных продуктов.

Я использую следующий кодно это не работает:

<?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);, это работает для промежуточного итога, включая как пищевые, так и непищевые значения.

Может кто-нибудь помочь мне с этим.

Спасибо, Даниэль

1 Ответ

0 голосов
/ 17 мая 2011

Я не думаю, что эта информация доступна напрямую: 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();
    }
}

не уверен, что "если" нужно, хотя.
надеюсь, что это поможет

...