显示Magento结账时的总节省金额

时间:2015-08-21 20:55:26

标签: php magento e-commerce checkout

我需要在magento结帐页面显示总节省金额。 我的意思是:

您保存:XXX $ xxx是(购物车中产品的正常价格总和) - (购物车中产品特价总和)。

Thx for your help guys

2 个答案:

答案 0 :(得分:0)

 <?php
    $cart = Mage::getModel('checkout/cart')->getQuote();    
    foreach ($cart->getAllItems() as $item) {      
        $productPrice = $item->getProduct()->getPrice();
        //echo $productPrice."<br />";
        $pp[] = $productPrice;
    }
    $totalprice = array_sum($pp);
    $grandTotal = Mage::getModel('checkout/cart')->getQuote()->getGrandTotal();
    $flagValue = $totalprice - $grandTotal;    
    if ($flagValue > 0) { ?>
        <p class="flagValue">You are saving <b>&pound;<?php echo $flagValue; ?></b> today.</p><?php } ?>

它会起作用

由于 Yogesh Dubey

答案 1 :(得分:0)

我知道这已经太迟了回复,我对magento有相同的要求,我正在进行中。我在谷歌搜索并找到了这个链接但不幸的是上面的代码没有用,所以我决定建立我自己,现在它对我来说就像一个魅力......

这是代码

<?php
    $sOrderId = Mage::getSingleton('checkout/session')->getLastOrderId();
    $oOrder = Mage::getModel('sales/order')->load($sOrderId);
    $obj = Mage::getModel('catalog/product');
    $oOrder->getGrandTotal()."</br></br>";
    $order = Mage::getSingleton('sales/order'); 
    $order->loadByIncrementId(Mage::getSingleton('checkout/session')->getLastRealOrderId());
    $_items = $order->getAllItems();
    $n=count($_items)."</br>";
    for($i=0;$i<$n;$i++){
        //$cost_id[] = $_items[$i]['product_id'];
        $_product = $obj->load($_items[$i]['product_id']);
        $cost_id[] = $_product->getPrice()."</br>";
    }
    $totalprice = array_sum($cost_id);
    $disc_price = $totalprice - $oOrder->getGrandTotal();
    echo "You have saved ".$disc_price." today";
    ?>

希望它会帮助任何人

谢谢