Я хочу получить 3 поля от пользователя, которые будут заполнены нестандартным размером, и после этого на основе этого размера необходимо сгенерировать цену за него. Эту цену я могу показать на странице, но при добавлении в корзину это первоначальная цена продукта
Я использовал этот код с методом Observer
Это Наблюдатель
class CustomPrice implements ObserverInterface
{
public function execute(\Magento\Framework\Event\Observer $observer) {
$item=$observer->getEvent()->getData('quote_item');
$product=$observer->getEvent()->getData('product');
// here i am using item's product final price
$price = 1000; // 10 is custom price. It will increase in product price.
// Set the custom price
$item->setCustomPrice($price);
$item->setOriginalCustomPrice($price);
// Enable super mode on the product.
$item->getProduct()->setIsSuperMode(true);
return $this;
}
}
Это файл Evets.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="checkout_cart_update_items_after">
<observer name="customprice" instance="MGS\CartPrice\Observer\CustomPrice" />
</event>
Я принял код от https://webkul.com/blog/magento2-set-custom-price-of-product/