Magento价格显示优惠百分比

B2C网站最常用的促销手段之一就是打折,管理员希望客户能够在前台比较直观的看到打折幅度。在一般电商程序中比较好实现,而到了Magento这里就显得有限麻烦了。Magento的产品价格输出需要考虑到很多因素,例如原始价格、优惠价格、不同客户组的不同价格、不同数量商品的不同价格以及税率计算和catalog促销规则。

如果简单以原始价格减去优惠价格,得出的结果就会有误差。还好Magento提供了一个直接可以获取最终价格的方法,该方法能够考虑到所有因素,包括不同客户组及促销规则等。代码如下。

01
02
03
04
05
06
07
08
09
function saving($product)
{
    if ($product->getFinalPrice() != $product->getPrice())
    {
        $saving = $product->getPrice() - $product->getFinalPrice();
        $saving = number_format($saving / $product->getPrice() * 100);
        return  $this->__('Save ').$saving.'%';
    }
}