我一直在谷歌上搜索疯狂..我想要一个简单的事情。从购物车中所有产品的特殊/试用/调整总价格中获取所有产品的总价格与正常价格的差异。
IE:如果购物车中有2件商品具有正常价格属性,例如
1 @ $5
2 @ $10
--------------------------
total = $15 Savings = $0
但是我在#2上特价,所以购物车将是
1 @ $5
2 @ $5
--------------------------
total = $10 Savings = $5
现在我知道我可以使用
了$this->helper('checkout')->formatPrice(Mage::getSingleton('checkout/cart')->getQuote()->getGrandTotal());
要获得总计,但我不是100%,这不是没有运输..但这将是应用的特殊价格。我需要总的正常成本,然后我可以从那里做简单的数学。
我想要做的是将它们放在标题和侧栏中的数字中..想法?
答案 0 :(得分:0)
在产品视图页面
<?php
$_product = $this->getProduct(); ?>
if ($_product->getTypeId() == 'bundle'){
list($_minimalPrice, $_maximalPrice) = $_product->getPriceModel()->getPrices($_product);
$this->_price = $_minimalPrice;
$this->_specialPrice = $_minimalPrice;
if (!is_null($_product->getData('special_price')) && ($_product->getData('special_price') < 100)){
$this->_regularPrice = ($this->_specialPrice / $_product->getData('special_price')) * 100;
} else {
$this->_regularPrice = $this->_specialPrice;
}
} else {
$this->_price = 0;
$this->_regularPrice = $_product->getPrice();
$this->_specialPrice = $_product->getFinalPrice();
}
if ( $this->_specialPrice != $this->_regularPrice )
{
if ($this->_regularPrice > 0)
{
$this->_discountAmount = round( ( 1 - $this->_specialPrice / $this->_regularPrice ) * 100 );
$this->_saveAmount = $this->_regularPrice - $this->_specialPrice;
}
}
if ($this->_regularPrice)
{
$this->_regularPrice = strip_tags( Mage::app()->getStore()->convertPrice( $this->_regularPrice, true ) );
}
if ($this->_specialPrice)
{
$this->_specialPrice = strip_tags( Mage::app()->getStore()->convertPrice( $this->_specialPrice, true ) );
}
if ($this->_saveAmount)
{
$this->_saveAmount = strip_tags( Mage::app()->getStore()->convertPrice( $this->_saveAmount, true ) );
}
if ($this->_discountAmount)
{
$this->_discountAmount = $this->_discountAmount . '%';
}
所以,有_saveAmount
和_discountAmount
,在你的模板中使用,但我没有测试它,在生产网站上要小心。