Magento - Получить цену товара с учетом налогов и скидок в корзине / заказе (тэги Criteo)
Для реализации тегов Criteo я пытаюсь получить цену (среди прочего) всех продуктов в корзине (и страницу успеха) с учетом налогов и скидок. В настоящее время я делаю что-то вроде этого, но он отображает только цену со скидкой и без налога:
$cartAllItems = Mage::getModel('checkout/cart')->getItems();
foreach ($cartAllItems as $item){
$price = Mage::helper('tax')->getPrice($item->getProduct(), $item->getProduct()->getFinalPrice());
// other things
}
Я проверял много вещей и не могу заставить это работать. Спасибо за помощь
1 ответ
Я думаю, что вы можете использовать,
Mage::helper('checkout')->getQuote()->getShippingAddress()->getData('tax_amount')
Это вернет вам общую сумму налога. или вы можете использовать
$totalItemsInCart = Mage::helper('checkout/cart')->getItemsCount();
$totals = Mage::getSingleton('checkout/session')->getQuote()->getTotals();
$subtotal = round($totals["subtotal"]->getValue());
$grandtotal = round($totals["grand_total"]->getValue());
if(isset($totals['discount']) && $totals['discount']->getValue()) {
$discount = round($totals['discount']->getValue());
} else {
$discount = '';
}
if(isset($totals['tax']) && $totals['tax']->getValue()) {
$tax = round($totals['tax']->getValue());
} else {
$tax = '';
}
Модифицировано, я думаю, по вашему требованию
foreach ($productIds as $productId) {
$_product = Mage::getModel('catalog/product')->load($productId);
$productsPrice = floatval($_product->getData("price"));
// Get the product's tax class' ID
$taxClassId = $_product->getData("tax_class_id");
echo 'Tax Class ID '.$taxClassId.'
';
// Get the tax rates of each tax class in an associative array
$taxClasses = Mage::helper("core")->jsonDecode( Mage::helper("tax")-
>getAllRatesByProductClass() );
echo 'Tax Classes '.$taxClasses.'
';
// Extract the tax rate from the array
$taxRate = $taxClasses["value_".$taxClassId];
echo 'Tax Rate '.$taxRate.'
';
}
?>
Вы можете получить скидку и сумму налога для каждой позиции и произвести расчет.
$_item->getDiscountAmount
$_item->getTaxAmount
$totalItemPrice = $_item->getPrice - $_item->getDiscountAmount + $_item->getTaxAmount