#magento
Вопрос:
Пытаюсь получить значение записи пользовательского атрибута продаж внутри наблюдателя, вызванного checkout_submit_all_after
событием, но не могу этого получить.
Название поля ввода custom_abc
Ниже-это фрагмент кода.
events.xml
<?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="checkout_submit_all_after">
<observer name="abc_customorderfields_sales_order_save_after" instance="AbcCustomOrderFieldsObserverSalesOrderPlaceAfter" />
</event>
</config>`
Наблюдатель
namespace AbcCustomOrderFieldsObserver;
/**
* Class SalesOrderPlaceAfter
*/
class SalesOrderPlaceAfter implements MagentoFrameworkEventObserverInterface {
protected $_request;
protected $_logger;
protected $_historyFactory;
protected $_orderFactory;
public function __construct(
MagentoFrameworkAppRequestInterface $request, PsrLogLoggerInterface $logger, MagentoSalesModelOrderStatusHistoryFactory $historyFactory, MagentoSalesModelOrderFactory $orderFactory
) {
$this->_request = $request;
$this->_logger = $logger;
$this->_historyFactory = $historyFactory;
$this->_orderFactory = $orderFactory;
}
public function execute(MagentoFrameworkEventObserver $observer) {
try {
$order = $observer->getEvent()->getOrder();
if ($order) {
$postValue = $this->_request->getPost('custom_abc');
$order->setCustomAbc($postValue)->save();
}
return $this;
} catch (Exception $e) {
error_log($e->getMessage());
}
}
}
пожалуйста, помогите мне. Заранее спасибо!!