我想在添加到购物车后为捆绑产品添加自定义价格。我使用了“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;
}
}
有没有人可以帮助我?价格不是添加到小计和 总计。
以下是购物车项目,小计和总计。
任何帮助???