2
Magento2-checkout_cart_product_add_afterが発生したときにプログラムでカートに商品を追加する方法
製品Aと製品Bの2つの製品があるとします。製品Bは仮想製品であり、製品Aが追加されたときにカートに追加する必要があります。 そのために、イベントを監視して商品Bをカートに追加しようとしていcheckout_cart_product_add_afterます。製品Aが追加されたら、製品Aに追加された製品の数量を取得し、それに基づいて製品Bをプログラムで追加しようとしています。製品Bを追加するために、以下のコードを書きました。 <?php namespace MyModule\Applicationcharges\Observer; use Magento\Framework\Event\ObserverInterface; use Magento\Framework\App\RequestInterface; class AddCharges implements ObserverInterface { protected $_productRepository; protected $_cart; public function __construct(\Magento\Catalog\Model\ProductRepository $productRepository, \Magento\Checkout\Model\Cart $cart){ $this->_productRepository = $productRepository; $this->_cart = $cart; } public function execute(\Magento\Framework\Event\Observer $observer) { $item=$observer->getEvent()->getData('quote_item'); $product=$observer->getEvent()->getData('product'); $item = ( $item->getParentItem() ? $item->getParentItem() : $item ); $product->getQty(); $params = …