Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <event name="checkout_cart_add_product_complete">
- <observer name="customprice" instance="NsModuleObserverCustomPrice" />
- </event>
- <event name="checkout_cart_update_item_complete">
- <observer name="custompriceupdate" instance="NsModuleObserverCustomPrice" />
- </event>
- <event name="sales_quote_item_qty_set_after">
- <observer name="custompriceupdateqty" instance="NsModuleObserverCustomPrice" />
- </event>
- public function execute(MagentoFrameworkEventObserver $observer)
- {
- $cart = $this->cart;
- $quote = $cart->getQuote();
- $items = $cart->getQuote()->getAllItems();
- $basetotal = 0;
- foreach ($items as $itemforprice) {
- $total = $this->processItem($itemforprice);
- $basetotal += $total;
- }
- $quote->setSubtotal($basetotal);
- $quote->setGrandTotal($basetotal);
- $quote->setBaseSubtotal($basetotal);
- $quote->setBaseGrandTotal($basetotal);
- $quote->setSubtotalWithDiscount($basetotal);
- $quote->setBaseSubtotalWithDiscount($basetotal);
- $quote->save();
- }
- private function processItem($itemforprice)
- {
- $myprice = 100;
- $total = $myprice * $qty;
- $itemforprice->setCustomPrice($myprice);
- $itemforprice->setOriginalCustomPrice($myprice);
- $itemforprice->setBasePrice($myprice);
- $itemforprice->setPrice($myprice);
- $itemforprice->setRowTotal($total);
- $itemforprice->setBaseRowTotal($total);
- $itemforprice->setRowTotalInclTax($total);
- $itemforprice->setBaseRowTotalInclTax($total);
- $itemforprice->save();
- return $total;
- }
- $this->_eventManager->dispatch('sales_quote_item_qty_set_after', ['item' => $this]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement