Как сохранить значение из цитаты в пользовательских атрибутах объекта клиента? - PullRequest
1 голос
/ 24 мая 2019

Мне нужно сохранить значения из цитаты в пользовательских атрибутах объекта клиента.Это необходимо для того, чтобы пользователь мог добавлять дополнительные поля при оформлении заказа.

Я добавил 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...