7

我目前正在使用此代码段来显示我的 Magento 商店顶部购物车中的购物车总数。我的问题是,当产品放入购物车时,它并不总是更新,它只是显示 0 美元,尤其是可配置的产品。但是,当第二个产品放入购物车时,它又可以工作了。

我是否遗漏了什么,是否应该在这段代码之前进行某种“检查”?

<?php echo Mage::helper('checkout')->formatPrice($this->getSubtotal()) ?>
4

4 回答 4

17

您也可以尝试以下对我有用的代码

<?php echo Mage::helper('checkout/cart')->getQuote()->getSubtotal() ?>
于 2012-12-07T05:16:25.997 回答
2

确保您的顶部购物车块扩展了相关的块类型,例如Mage_Checkout_Block_Cart_Sidebar. 如果这样做,您将可以访问有用的功能,从而节省您重写不必要的代码。

例如,如果您扩展Mage_Checkout_Block_Cart_Sidebar- 您可以调用getSubtotal()

另一种方法是使用以下内容:

Mage::getSingleton('checkout/session')->getQuote()->getSubtotal();
于 2012-12-06T19:30:13.590 回答
2

您可以使用以下代码:

$subtotals= Mage::getSingleton('checkout/session')->getQuote()->getSubtotal();

echo $formattedPrice = Mage::helper('core')->currency($subtotals , true, false);
于 2015-11-04T10:00:19.743 回答
1

以上均不适合我,但我能够使用以下方法获得小计:

$orderObj = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId());
$orderSubTotal = $orderObj->getSubtotal();
echo $orderSubTotal;

这指的是success.phtml 页面。

于 2015-01-24T00:05:43.707 回答