从购物车获取magento小计

从购物车获取magento小计,magento,magento-1.9,Magento,Magento 1.9,我目前正在使用此代码片段在我的Magento商店的topcart中显示购物车总数。我的问题是,当产品放入购物车时,它并不总是更新,它只是显示0$,尤其是可配置的产品。但当第二个产品被放入购物车时,它又开始工作了 我是否遗漏了什么,在这段代码之前是否应该有某种“检查” <?php echo Mage::helper('checkout')->formatPrice($this->getSubtotal()) ?> 确保您的顶部购物车块正在扩展相关的块类型,例如Mage\u

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

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

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

确保您的顶部购物车块正在扩展相关的块类型,例如
Mage\u Checkout\u block\u cart\u侧栏
。如果您这样做,您将能够访问有用的功能,从而避免重写不必要的代码

例如,如果扩展
Mage\u Checkout\u Block\u Cart\u侧栏
,则可以调用
getSubtotal()

另一种方法是使用以下各项:

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

你也可以试试下面的代码它对我有用

<?php echo Mage::helper('checkout/cart')->getQuote()->getSubtotal() ?>

以上这些都不适用于我,但我可以通过以下方式获得小计:

$orderObj = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId());
$orderSubTotal = $orderObj->getSubtotal();
echo $orderSubTotal;
这是指success.phtml页面。

您可以使用以下代码:

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

echo $formattedPrice = Mage::helper('core')->currency($subtotals , true, false);

我会尝试的,即使是你这听起来像是新手的工作。。我会给它一个快照我必须给免费送货订单超过1000和zipcode在600001到600010之间,我使用的是webshop矩阵费率的送货方法,在这种情况下,购物车定价规则不工作免费送货,所以我必须计划做自定义PHP代码提供免费送货,我的条件我怎么能给出这样的条件,比如subtotal等于或大于1000,zipcode 600001和600010在/public_html/app/design/frontend/base/default/template/checkout/cart/shipping.phtml@Drew HunterIT中似乎有效,只是可配置产品显示0$,直到我添加另一个产品,然后这两个产品都正确显示。这很奇怪。@ThomasNielsen:你让它工作了吗,我也有同样的问题即使购物车中的产品发生了变化,小计也不会改变,但在我的情况下,它甚至不可配置,我只使用简单的产品。@Jarus:是的,它对简单的产品很有效。“更好的可配置产品”扩展不希望正确地增加价格,因为它从未完全与可配置产品配合使用。我使用这个代码:我必须提供超过1000的免费送货订单,zipcode介于600001到600010之间,我使用webshop矩阵费率作为送货方法,在这种情况下,购物车定价规则不适用于免费送货,所以我必须计划做自定义PHP代码来提供免费送货,我的条件如何在/public_html/app/design/frontend/base/default/template/checkout/cart/shipping.phtml@SwapnaDo中给出类似小计等于或大于1000、zipcode 600001和600010的条件您有任何修改可配置产品行为的扩展吗?似乎可配置的最终价格是从现有的子产品中检索到的,但在第一次添加时,子产品尚未作为购物车项目加载,因此最终价格为eq到0。我对PHP不熟悉,只是想知道,为什么要回显$orderSubTotal而不是回显$orderObj?