Magento 2 - 添加到购物车后,自定义价格无法添加到小计和总计

时间:2017-07-28 08:07:23

标签: php bundle cart observers magento-2.0.7

我想在添加到购物车后为捆绑产品添加自定义价格。我使用了“checkout_cart_product_add_after”观察者来做到这一点。但它是在产品价格中加入定制价格,而不是在子总价和总价中。 以下是我的代码:

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <!-- Event for add to cart -->
    <event name="checkout_cart_product_add_after">
        <observer name="customprice_observer_set_price_for_item_add" instance="Custom\Shop\Model\Observer\SetPriceForItem"/>
    </event>
</config>

观察员类:

namespace Custom\Shop\Model\Observer;

use Magento\Framework\Event\Observer;
use Magento\Framework\Event\ObserverInterface;
use Magento\Catalog\Model\Product\Type;

class SetPriceForItem implements ObserverInterface
{
     public function execute(Observer $observer)
     {
        $item = $observer->getEvent()->getQuoteItem();
        if ($item->getProduct()->getTypeId() == Type::TYPE_BUNDLE) {
            foreach ($item->getQuote()->getAllItems() as $bundleitems) {
                if ($bundleitems->getProduct()->getTypeId() == Type::TYPE_BUNDLE) {
                    $bundle_price = $bundleitems->getProduct()->getFinalPrice();
                    $fee = $bundleitems->getProduct()->getBuildInFee();
                    $final_price = $bundle_price + $fee;
                    $bundleitems->setCustomPrice($final_price);
                    $bundleitems->setOriginalCustomPrice($final_price);
                }
            }

            $item->getProduct()->setIsSuperMode(true);
        }
        return $this;
     }
}
  

有没有人可以帮助我?价格不是添加到小计和   总计。

以下是购物车项目,小计和总计。

enter image description here

任何帮助???

0 个答案:

没有答案