【问题标题】:Add custom calculation to cart total and grand total in magento在magento中将自定义计算添加到购物车总计和总计
【发布时间】:2013-12-28 23:08:04
【问题描述】:

我在网站上工作,我想在购物车总数和总数中添加/减去费用。我正在触发此事件以获取购物车详细信息。sales_order_save_after。在观察者中,我使用此代码得到了价格

public function modifyPrice(Varien_Event_Observer $obs)
        {


       $getotal = Mage::helper('checkout')->getQuote()->getGrandTotal();
       $totals = Mage::getSingleton('checkout/session')->getQuote()->getTotals(); 
       $subtotal = $totals["subtotal"]->getValue();
}.

但我不知道如何从总数中添加/减去金额,然后进行相应更新。提前致谢

【问题讨论】:

    标签: magento cart observers


    【解决方案1】:

    雷曼,

    恐怕这不是一个直接完成的任务,尽管您可以将以下作为 Ref 开始

    http://www.excellencemagentoblog.com/magento-add-fee-discount-order-total

    希望以上链接有所帮助。

    【讨论】:

    • 我知道并且我已经研究过该教程。他们正在将自定义价格添加到购物车。但在我的情况下,自定义价格可能是百分比或价格将在运行时检查。所以我为什么不这样做不要去那里
    • 您可以更改以下行:$fee = Excellence_Fee_Model_Fee::getFee();无论你想要什么计算价格..你也不能从网上得到确切的解决方案。您可能需要根据您的问题对其进行一些调整/更改
    • 使用此技术后。我不知道为什么优惠券代码停止工作.. 任何人都可以帮助我。我在做什么申请额外费用,但如果我申请额外费用,那么如果用户有优惠券代码,那么优惠券代码将停止工作..
    【解决方案2】:

    搜索后,我找到了本教程http://magento.ikantam.com/qa/how-add-discount-total-magento。在折扣模型类上,我可以将自定义价格添加/减去购物车总数,例如:

     public function collect(Mage_Sales_Model_Quote_Address $address) {
                if ($address->getData('address_type') == 'billing')
                    return $this;
    
                    $discount = Mage::helper('my_module')->getCurrentdiscount(); // Custom percentage
    
                    $grandTotal = $address->getGrandTotal();
                    $baseGrandTotal = $address->getBaseGrandTotal();
    
                    $totals = array_sum($address->getAllTotalAmounts());
                    $baseTotals = array_sum($address->getAllBaseTotalAmounts());
    
                    $address->setFeeAmount(-$totals * $discount / 100);
                    $address->setBaseFeeAmount(-$baseTotals * $discount / 100);
    
                    $address->setGrandTotal($grandTotal + $address->getFeeAmount());
                    $address->setBaseGrandTotal($baseGrandTotal + $address->getBaseFeeAmount());
            return $this;
        }
    

    【讨论】:

    • 你能否分享一下你在哪里添加了 xml 的详细信息,路径类实际上我正在尝试使用你给定的教程链接在我的购物车中添加折扣,但我无法理解你能指导我实现这一目标,我正在以 0 运气将我的时间从过去两天开始。
    • 使用此技术后。我不知道为什么优惠券代码停止工作.. 任何人都可以帮助我。我在做什么申请额外费用,但如果我申请额外费用,那么如果用户有优惠券代码,那么优惠券代码将停止工作..
    • @SandeepSingh 我认为您可以发布您的问题,以便其他成员回答。
    猜你喜欢
    • 2011-09-23
    • 1970-01-01
    • 1970-01-01
    • 2018-09-10
    • 2021-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多