我目前正在使用此代码段来显示我的 Magento 商店顶部购物车中的购物车总数。我的问题是,当产品放入购物车时,它并不总是更新,它只是显示 0 美元,尤其是可配置的产品。但是,当第二个产品放入购物车时,它又可以工作了。
我是否遗漏了什么,是否应该在这段代码之前进行某种“检查”?
<?php echo Mage::helper('checkout')->formatPrice($this->getSubtotal()) ?>
我目前正在使用此代码段来显示我的 Magento 商店顶部购物车中的购物车总数。我的问题是,当产品放入购物车时,它并不总是更新,它只是显示 0 美元,尤其是可配置的产品。但是,当第二个产品放入购物车时,它又可以工作了。
我是否遗漏了什么,是否应该在这段代码之前进行某种“检查”?
<?php echo Mage::helper('checkout')->formatPrice($this->getSubtotal()) ?>
您也可以尝试以下对我有用的代码
<?php echo Mage::helper('checkout/cart')->getQuote()->getSubtotal() ?>
确保您的顶部购物车块扩展了相关的块类型,例如Mage_Checkout_Block_Cart_Sidebar
. 如果这样做,您将可以访问有用的功能,从而节省您重写不必要的代码。
例如,如果您扩展Mage_Checkout_Block_Cart_Sidebar
- 您可以调用getSubtotal()
另一种方法是使用以下内容:
Mage::getSingleton('checkout/session')->getQuote()->getSubtotal();
您可以使用以下代码:
$subtotals= Mage::getSingleton('checkout/session')->getQuote()->getSubtotal();
echo $formattedPrice = Mage::helper('core')->currency($subtotals , true, false);
以上均不适合我,但我能够使用以下方法获得小计:
$orderObj = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId());
$orderSubTotal = $orderObj->getSubtotal();
echo $orderSubTotal;
这指的是success.phtml 页面。