Мне нужно сохранить значения из цитаты в пользовательских атрибутах объекта клиента.Это необходимо для того, чтобы пользователь мог добавлять дополнительные поля при оформлении заказа.
Я добавил 2 пользовательских атрибута для объекта customer_address, добавил их в атрибуты расширения.Также ранее был добавлен плагин для метода SaveAddressInformation, чтобы добавить значения моих атрибутов в кавычку, предварительно расширенную таблицу кавычек.Также, благодаря наблюдателю, я сохранил эти значения из цитаты в заказе.
А теперь, чтобы зарегистрированный пользователь мог сохранить эти данные в адресе, мне нужно каким-то образом передать и сохранить значения из цитаты в таблицу customer_address_entity
Я просто могуне понимаю, в какой момент я могу это сделать.
public function beforeSaveAddressInformation(
\Magento\Checkout\Api\ShippingInformationManagementInterface $subject,
$cartId,
\Magento\Checkout\Api\Data\ShippingInformationInterface $addressInformation
) {
$extensionAttributes = $addressInformation->getShippingAddress()->getExtensionAttributes();
if ($extensionAttributes) {
$cityId = $extensionAttributes->getCityId();
$warehouseId = $extensionAttributes->getWarehouseId();
$quote = $this->quoteRepository->getActive($cartId);
$quote->setCityId($cityId);
$quote->setWarehouseId($warehouseId);
}
}
Наблюдатель: $ order = $ наблюдатель-> getEvent () -> getOrder ();
$quote = $this->quoteRepository->get($order->getQuoteId());
$order->setCityId($quote->getCityId());
$order->setWarehouseId($quote->getWarehouseId());
return $this;
}