Ниже показан мой код. Я вызываю sales_quote_add_item, чтобы изменить цену продукта в соответствии с индивидуальной опцией. Я хочу, чтобы он был добавлен администратором в корзину.
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="sales_quote_add_item">
<observer name="customprice" instance="Smartupworld\Core\Observer\Admin\Price" />
</event>
</config>
Здесь я php наблюдатель
<?php
namespace Smartupworld\Core\Observer\Admin;
use Magento\Framework\Event\ObserverInterface;
use Magento\Framework\App\RequestInterface;
class Price implements ObserverInterface
{
public function execute(\Magento\Framework\Event\Observer $observer) {
//$product=$observer->getEvent()->getData('product');
$item = $observer->getEvent()->getData('quote_item');
$item = ( $item->getParentItem() ? $item->getParentItem() : $item );
$customOptions = $objectManager->get('Magento\Catalog\Model\Product\Option')->getProductOptionCollection($item->getProduct());
$options = $item->getProductOptions();
if (isset($options['options']) && !empty($options['options'])) {
foreach ($options['options'] as $option) {
echo 'Title: ' . $option['label'] . '<br />';
echo 'ID: ' . $option['option_id'] . '<br />';
echo 'Type: ' . $option['option_type'] . '<br />';
echo 'Value: ' . $option['option_value'] . '<br />' . '<br />';
//$title[] = $option['label'];
}
}
$price = 100;
$item->setCustomPrice($price);
$item->setOriginalCustomPrice($price);
$item->getProduct()->setIsSuperMode(true);
}
Я не могу получить значение опции по цене. php файл. Я хочу изменить цену в соответствии со стоимостью опциона. Но я не могу этого понять.