【问题标题】:Get magento subtotal from cart从购物车中获取 magento 小计
【发布时间】:2012-12-06 19:17:18
【问题描述】:

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

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

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

【问题讨论】:

  • 您是否有任何扩展可以修改可配置产品的行为?似乎可配置的最终价格是从现有的子产品中检索到的,但在第一次添加时,子产品尚未加载为购物车项目,因此最终价格为 eq 为 0。

标签: magento magento-1.9


【解决方案1】:

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

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

【讨论】:

  • 它似乎工作,只是可配置产品显示 0$,直到我添加另一个产品,然后两个产品都正确显示。这很奇怪..
  • @ThomasNielsen:你让这个工作了吗,我有同样的问题,即使购物车中的产品已经改变,小计也不会改变,但在我的情况下,它甚至无法配置,我只是使用简单的产品.
  • @Jarus :是的,它适用于简单的产品。从来没有让它完全与可配置产品一起工作,“更好的可配置产品”扩展不想正确添加价格。我使用以下代码: formatPrice($this->getSubtotal()) ?>
  • 我必须提供超过 1000 的免费送货订单和 600001 到 600010 之间的邮政编码,我使用网上商店矩阵费率作为送货方式,在这种情况下,购物车定价规则不适用免费送货,所以我必须计划做自定义 PHP 代码以提供免费送货,我的条件如何在 /public_html/app/design/frontend/base/default/template/checkout 中提供小计等于或大于 1000 和邮政编码 600001 和 600010 的条件/cart/shipping.phtml @ Swapna
【解决方案2】:

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

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

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

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

【讨论】:

  • 我会尝试的,即使是你,这听起来像是新手的一些工作.. 我会试一试
  • 我必须提供超过 1000 的免费送货订单和 600001 到 600010 之间的邮政编码,我使用网上商店矩阵费率作为送货方式,在这种情况下,购物车定价规则不适用免费送货,所以我必须计划做自定义 PHP 代码以提供免费送货,我的条件如何在 /public_html/app/design/frontend/base/default/template/checkout 中提供小计等于或大于 1000 和邮政编码 600001 和 600010 的条件/cart/shipping.phtml @德鲁猎人
【解决方案3】:

您可以使用此代码:

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

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

【讨论】:

    【解决方案4】:

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

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

    这里指的是success.phtml页面。

    【讨论】:

    • 我是 PHP 新手,只是想知道,为什么你回显 $orderSubTotal 而不是回显 $orderObj?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-22
    • 1970-01-01
    • 1970-01-01
    • 2015-02-03
    • 1970-01-01
    相关资源
    最近更新 更多