我目前正在使用此代码段在我的Magento商店的顶级车中显示购物车总数。我的问题是,当产品放入购物车时,它并不总是更新,它只显示0美元,特别是可配置的产品。但是当第二个产品放入购物车时,它又会再次运转。
我错过了什么,如果在这段代码之前有某种“检查”吗?
<?php echo Mage::helper('checkout')->formatPrice($this->getSubtotal()) ?>
答案 0 :(得分:17)
您也可以尝试使用以下适合我的代码
<?php echo Mage::helper('checkout/cart')->getQuote()->getSubtotal() ?>
答案 1 :(得分:2)
确保您的顶部购物车块正在扩展相关的块类型,例如Mage_Checkout_Block_Cart_Sidebar
。如果这样做,您将可以访问有用的功能,这将节省您重写不必要的代码。
例如,如果您展开Mage_Checkout_Block_Cart_Sidebar
,则可以致电getSubtotal()
另一种方法是使用以下内容:
Mage::getSingleton('checkout/session')->getQuote()->getSubtotal();
答案 2 :(得分:2)
您可以使用此代码:
$subtotals= Mage::getSingleton('checkout/session')->getQuote()->getSubtotal();
echo $formattedPrice = Mage::helper('core')->currency($subtotals , true, false);
答案 3 :(得分:1)
以上都没有为我工作,但我能够使用这个得到小计:
$orderObj = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId());
$orderSubTotal = $orderObj->getSubtotal();
echo $orderSubTotal;
这是指success.phtml页面。