服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > magento教程 >

magento在购物车中显示用户通过特价所节约的金额

时间:2016-04-04 01:02来源: 作者: 点击:
一般商品都会打折,会用户打折的幅度或打折后的金额,这在产品页上基本都会显示,但是用户将商品放入购物车后,只显示最后的金额,没打显示原价及节约的金额。magento的购物车中

一般商品都会打折,会用户打折的幅度或打折后的金额,这在产品页上基本都会显示,但是用户将商品放入购物车后,只显示最后的金额,没打显示原价及节约的金额。magento的购物车中如何实现呢:

如上图示,这是购物车列表的实现效果图。
代码/template/checkout/cart/item/default.phtml中分为两段
第一段在148行左右
在代码
                    <?php echo $this->helper('checkout')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?>
                <?php else: ?>
下方将echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxDisposition()); 换成以下代码
 
 
 
<?php 
                         if($_item->getProduct()->getPrice()>$_incl)
                         {
                         echo '<span class="cart-old-price">';
                         echo $this->helper('checkout')->formatPrice($_item->getProduct()->getPrice()-$_item->getWeeeTaxDisposition());         
                               echo "</span><br>";
                               echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxDisposition());                           
                         }
                         else                   
                               echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxDisposition()); 
                               
?>
第二段在文件最后能找到 echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()); 代码的地方,换成以下代码
 
 
<?php 
                   $tempqty = ($_item->getQty() ? $_item->getQty() : ($_item->getQtyOrdered() ? $_item->getQtyOrdered() : 1));
                   if($_item->getProduct()->getPrice()>$this->helper('checkout')->getPriceInclTax($_item))
                         {
                           if(!Mage::getSingleton('core/session')->getSavemoneycart())   Mage::getSingleton('core/session')->setSavemoneycart(0);
                         
                         echo '<span class="cart-old-price">';
                         echo $this->helper('checkout')->formatPrice($_item->getProduct()->getPrice()*$tempqty-$_item->getWeeeTaxDisposition());        
                               echo "</span><br>";
                               echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition());    
                               echo "<br><span class='cart-save-price'>";
                               echo $this->__("Savings amount:").'<br>'.$this->helper('checkout')->formatPrice($_item->getProduct()->getPrice()*$tempqty-$_item->getWeeeTaxDisposition()-$_incl);
                               echo "</span>";
                               Mage::getSingleton('core/session')->setSavemoneycart(Mage::getSingleton('core/session')->getSavemoneycart()+($_item->getProduct()->getPrice()*$tempqty-$_item->getWeeeTaxDisposition()-$_incl));
                         }
                         else                   
                               echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()); 
                               
                   
?>
即可实现以上图示效果。
还差一个,如果用户购物了多件商品,要在购物车汇总中显示节约的总金额。
 
在template/checkout/cart.phtml
中头部增加
Mage::getSingleton('core/session')->setSavemoneycart(0);
然后在
<?php echo $this->getChildHtml('totals'); ?>
下方增加以下代码,即可实现。
 
 
<?php                      
                if(Mage::getSingleton('core/session')->getSavemoneycart())
                    {
                            echo "<div class='totals-save-sum'>";
                            echo $this->__("Savings amount:")."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".$this->helper('checkout')->formatPrice(Mage::getSingleton('core/session')->getSavemoneycart());                        
                            echo "</div>";
                    }
     ?>
代码部分写的不是很好,大家做个参照,自行完善吧!
(责任编辑:最模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------